﻿2026-06-17T00:59:16.0206179Z ##[group]Run ./traceable-reqs check --json
2026-06-17T00:59:16.0206551Z [36;1m./traceable-reqs check --json[0m
2026-06-17T00:59:16.0219406Z shell: /usr/bin/bash -e {0}
2026-06-17T00:59:16.0219663Z ##[endgroup]
2026-06-17T00:59:16.0708576Z {
2026-06-17T00:59:16.0709099Z   "schemaVersion": 1,
2026-06-17T00:59:16.0709511Z   "summary": {
2026-06-17T00:59:16.0710011Z     "requirementCount": 220,
2026-06-17T00:59:16.0710598Z     "completeCount": 220,
2026-06-17T00:59:16.0710979Z     "incompleteCount": 0,
2026-06-17T00:59:16.0711318Z     "findingCount": 0
2026-06-17T00:59:16.0711637Z   },
2026-06-17T00:59:16.0711937Z   "requirements": [
2026-06-17T00:59:16.0712635Z     {
2026-06-17T00:59:16.0712988Z       "id": "REQ-API-1",
2026-06-17T00:59:16.0713455Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-17T00:59:16.0713971Z       "requiredStages": [
2026-06-17T00:59:16.0714305Z         "impl",
2026-06-17T00:59:16.0714608Z         "unit",
2026-06-17T00:59:16.0714901Z         "int"
2026-06-17T00:59:16.0715259Z       ],
2026-06-17T00:59:16.0715555Z       "stages": {
2026-06-17T00:59:16.0715870Z         "doc": {
2026-06-17T00:59:16.0716199Z           "complete": false,
2026-06-17T00:59:16.0716558Z           "evidence": []
2026-06-17T00:59:16.0716892Z         },
2026-06-17T00:59:16.0717187Z         "impl": {
2026-06-17T00:59:16.0717514Z           "complete": true,
2026-06-17T00:59:16.0717867Z           "evidence": [
2026-06-17T00:59:16.0718192Z             {
2026-06-17T00:59:16.0718535Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0719039Z               "line": 15
2026-06-17T00:59:16.0719374Z             }
2026-06-17T00:59:16.0719663Z           ]
2026-06-17T00:59:16.0719947Z         },
2026-06-17T00:59:16.0720238Z         "int": {
2026-06-17T00:59:16.0720553Z           "complete": true,
2026-06-17T00:59:16.0720910Z           "evidence": [
2026-06-17T00:59:16.0721215Z             {
2026-06-17T00:59:16.0721573Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.0722008Z               "line": 13
2026-06-17T00:59:16.0722250Z             }
2026-06-17T00:59:16.0722464Z           ]
2026-06-17T00:59:16.0722721Z         },
2026-06-17T00:59:16.0722914Z         "unit": {
2026-06-17T00:59:16.0723167Z           "complete": true,
2026-06-17T00:59:16.0723443Z           "evidence": [
2026-06-17T00:59:16.0723672Z             {
2026-06-17T00:59:16.0723950Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0724241Z               "line": 574
2026-06-17T00:59:16.0724517Z             },
2026-06-17T00:59:16.0724731Z             {
2026-06-17T00:59:16.0724965Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0725310Z               "line": 691
2026-06-17T00:59:16.0725534Z             },
2026-06-17T00:59:16.0725757Z             {
2026-06-17T00:59:16.0726010Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0726296Z               "line": 778
2026-06-17T00:59:16.0726564Z             }
2026-06-17T00:59:16.0726788Z           ]
2026-06-17T00:59:16.0726997Z         }
2026-06-17T00:59:16.0727226Z       }
2026-06-17T00:59:16.0727428Z     },
2026-06-17T00:59:16.0727641Z     {
2026-06-17T00:59:16.0727874Z       "id": "REQ-API-2",
2026-06-17T00:59:16.0728255Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-17T00:59:16.0728714Z       "requiredStages": [
2026-06-17T00:59:16.0729008Z         "impl",
2026-06-17T00:59:16.0729261Z         "unit",
2026-06-17T00:59:16.0729495Z         "int"
2026-06-17T00:59:16.0729805Z       ],
2026-06-17T00:59:16.0730006Z       "stages": {
2026-06-17T00:59:16.0730223Z         "doc": {
2026-06-17T00:59:16.0730474Z           "complete": false,
2026-06-17T00:59:16.0730732Z           "evidence": []
2026-06-17T00:59:16.0730951Z         },
2026-06-17T00:59:16.0731212Z         "impl": {
2026-06-17T00:59:16.0731451Z           "complete": true,
2026-06-17T00:59:16.0731713Z           "evidence": [
2026-06-17T00:59:16.0731953Z             {
2026-06-17T00:59:16.0732505Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.0732791Z               "line": 17
2026-06-17T00:59:16.0733047Z             },
2026-06-17T00:59:16.0733262Z             {
2026-06-17T00:59:16.0733503Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.0733828Z               "line": 20
2026-06-17T00:59:16.0734051Z             },
2026-06-17T00:59:16.0734291Z             {
2026-06-17T00:59:16.0734539Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.0734853Z               "line": 142
2026-06-17T00:59:16.0735077Z             },
2026-06-17T00:59:16.0735426Z             {
2026-06-17T00:59:16.0735704Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0735974Z               "line": 24
2026-06-17T00:59:16.0736241Z             },
2026-06-17T00:59:16.0736447Z             {
2026-06-17T00:59:16.0736734Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0737014Z               "line": 41
2026-06-17T00:59:16.0737242Z             },
2026-06-17T00:59:16.0737467Z             {
2026-06-17T00:59:16.0737716Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0738045Z               "line": 209
2026-06-17T00:59:16.0738269Z             },
2026-06-17T00:59:16.0738515Z             {
2026-06-17T00:59:16.0738876Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0739383Z               "line": 251
2026-06-17T00:59:16.0739712Z             },
2026-06-17T00:59:16.0740008Z             {
2026-06-17T00:59:16.0740355Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0740783Z               "line": 330
2026-06-17T00:59:16.0741110Z             },
2026-06-17T00:59:16.0741401Z             {
2026-06-17T00:59:16.0741753Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0742174Z               "line": 393
2026-06-17T00:59:16.0742498Z             },
2026-06-17T00:59:16.0742790Z             {
2026-06-17T00:59:16.0743138Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0743547Z               "line": 432
2026-06-17T00:59:16.0743873Z             },
2026-06-17T00:59:16.0744173Z             {
2026-06-17T00:59:16.0744522Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0744930Z               "line": 17
2026-06-17T00:59:16.0745264Z             },
2026-06-17T00:59:16.0745532Z             {
2026-06-17T00:59:16.0745785Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0746227Z               "line": 30
2026-06-17T00:59:16.0746506Z             },
2026-06-17T00:59:16.0746792Z             {
2026-06-17T00:59:16.0747112Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0747565Z               "line": 63
2026-06-17T00:59:16.0747904Z             },
2026-06-17T00:59:16.0748194Z             {
2026-06-17T00:59:16.0748534Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0749004Z               "line": 77
2026-06-17T00:59:16.0749347Z             }
2026-06-17T00:59:16.0749643Z           ]
2026-06-17T00:59:16.0749934Z         },
2026-06-17T00:59:16.0750229Z         "int": {
2026-06-17T00:59:16.0750544Z           "complete": true,
2026-06-17T00:59:16.0750883Z           "evidence": [
2026-06-17T00:59:16.0751197Z             {
2026-06-17T00:59:16.0751561Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.0751999Z               "line": 14
2026-06-17T00:59:16.0752323Z             },
2026-06-17T00:59:16.0752628Z             {
2026-06-17T00:59:16.0752977Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.0753412Z               "line": 187
2026-06-17T00:59:16.0753745Z             }
2026-06-17T00:59:16.0754051Z           ]
2026-06-17T00:59:16.0754339Z         },
2026-06-17T00:59:16.0754638Z         "unit": {
2026-06-17T00:59:16.0754953Z           "complete": true,
2026-06-17T00:59:16.0755301Z           "evidence": [
2026-06-17T00:59:16.0755635Z             {
2026-06-17T00:59:16.0756082Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.0756377Z               "line": 82
2026-06-17T00:59:16.0756603Z             },
2026-06-17T00:59:16.0756796Z             {
2026-06-17T00:59:16.0757047Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.0757334Z               "line": 279
2026-06-17T00:59:16.0757568Z             },
2026-06-17T00:59:16.0757781Z             {
2026-06-17T00:59:16.0758029Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0758320Z               "line": 705
2026-06-17T00:59:16.0758545Z             },
2026-06-17T00:59:16.0758879Z             {
2026-06-17T00:59:16.0759235Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0759522Z               "line": 716
2026-06-17T00:59:16.0759745Z             },
2026-06-17T00:59:16.0759954Z             {
2026-06-17T00:59:16.0760203Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0760479Z               "line": 869
2026-06-17T00:59:16.0760704Z             },
2026-06-17T00:59:16.0760903Z             {
2026-06-17T00:59:16.0761146Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0761433Z               "line": 915
2026-06-17T00:59:16.0761662Z             },
2026-06-17T00:59:16.0761875Z             {
2026-06-17T00:59:16.0762121Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0762403Z               "line": 143
2026-06-17T00:59:16.0762626Z             },
2026-06-17T00:59:16.0762826Z             {
2026-06-17T00:59:16.0763065Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.0763351Z               "line": 187
2026-06-17T00:59:16.0763561Z             }
2026-06-17T00:59:16.0763761Z           ]
2026-06-17T00:59:16.0763967Z         }
2026-06-17T00:59:16.0764161Z       }
2026-06-17T00:59:16.0764352Z     },
2026-06-17T00:59:16.0764544Z     {
2026-06-17T00:59:16.0764756Z       "id": "REQ-API-3",
2026-06-17T00:59:16.0765078Z       "title": "commune/signoff are file-drops, not commands",
2026-06-17T00:59:16.0765402Z       "requiredStages": [
2026-06-17T00:59:16.0765637Z         "impl",
2026-06-17T00:59:16.0765847Z         "unit",
2026-06-17T00:59:16.0766056Z         "int"
2026-06-17T00:59:16.0766256Z       ],
2026-06-17T00:59:16.0766457Z       "stages": {
2026-06-17T00:59:16.0766671Z         "doc": {
2026-06-17T00:59:16.0766905Z           "complete": false,
2026-06-17T00:59:16.0767154Z           "evidence": []
2026-06-17T00:59:16.0767376Z         },
2026-06-17T00:59:16.0767579Z         "impl": {
2026-06-17T00:59:16.0767793Z           "complete": true,
2026-06-17T00:59:16.0768036Z           "evidence": [
2026-06-17T00:59:16.0768256Z             {
2026-06-17T00:59:16.0768518Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.0768809Z               "line": 27
2026-06-17T00:59:16.0769157Z             },
2026-06-17T00:59:16.0769367Z             {
2026-06-17T00:59:16.0769624Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0769920Z               "line": 562
2026-06-17T00:59:16.0770152Z             }
2026-06-17T00:59:16.0770353Z           ]
2026-06-17T00:59:16.0770764Z         },
2026-06-17T00:59:16.0771073Z         "int": {
2026-06-17T00:59:16.0771383Z           "complete": true,
2026-06-17T00:59:16.0771980Z           "evidence": [
2026-06-17T00:59:16.0772483Z             {
2026-06-17T00:59:16.0773043Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.0773654Z               "line": 261
2026-06-17T00:59:16.0774131Z             }
2026-06-17T00:59:16.0774583Z           ]
2026-06-17T00:59:16.0803564Z         },
2026-06-17T00:59:16.0804078Z         "unit": {
2026-06-17T00:59:16.0804499Z           "complete": true,
2026-06-17T00:59:16.0804939Z           "evidence": [
2026-06-17T00:59:16.0805344Z             {
2026-06-17T00:59:16.0805796Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.0806354Z               "line": 280
2026-06-17T00:59:16.0806775Z             },
2026-06-17T00:59:16.0807477Z             {
2026-06-17T00:59:16.0807957Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.0808501Z               "line": 944
2026-06-17T00:59:16.0808916Z             }
2026-06-17T00:59:16.0809385Z           ]
2026-06-17T00:59:16.0809745Z         }
2026-06-17T00:59:16.0810115Z       }
2026-06-17T00:59:16.0810463Z     },
2026-06-17T00:59:16.0810815Z     {
2026-06-17T00:59:16.0811192Z       "id": "REQ-API-4",
2026-06-17T00:59:16.0814661Z       "title": "api resolves the adapter manifest (+ profile + install dir) from `--adapter name:profile` via the registry when `--manifest` is omitted; `--manifest` becomes an optional OVERRIDE (unregistered / local-dev manifests). Removes the require-both-flags redundancy — a registered adapter's live bringup / digest / capability needs only `--adapter` — and yields the precise install dir (the record's source_dir) rather than the --manifest parent, closing the copy-mode psyche-binary edge (v0.8.0)",
2026-06-17T00:59:16.0817734Z       "requiredStages": [
2026-06-17T00:59:16.0818175Z         "doc",
2026-06-17T00:59:16.0818485Z         "impl",
2026-06-17T00:59:16.0818795Z         "unit"
2026-06-17T00:59:16.0819205Z       ],
2026-06-17T00:59:16.0819505Z       "stages": {
2026-06-17T00:59:16.0819858Z         "doc": {
2026-06-17T00:59:16.0820262Z           "complete": true,
2026-06-17T00:59:16.0820713Z           "evidence": [
2026-06-17T00:59:16.0821123Z             {
2026-06-17T00:59:16.0821539Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.0822010Z               "line": 149
2026-06-17T00:59:16.0822440Z             }
2026-06-17T00:59:16.0822827Z           ]
2026-06-17T00:59:16.0823197Z         },
2026-06-17T00:59:16.0823550Z         "impl": {
2026-06-17T00:59:16.0823964Z           "complete": true,
2026-06-17T00:59:16.0824418Z           "evidence": [
2026-06-17T00:59:16.0824827Z             {
2026-06-17T00:59:16.0825274Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0825802Z               "line": 479
2026-06-17T00:59:16.0826234Z             }
2026-06-17T00:59:16.0826607Z           ]
2026-06-17T00:59:16.0826980Z         },
2026-06-17T00:59:16.0827356Z         "int": {
2026-06-17T00:59:16.0827755Z           "complete": false,
2026-06-17T00:59:16.0828232Z           "evidence": []
2026-06-17T00:59:16.0828578Z         },
2026-06-17T00:59:16.0828883Z         "unit": {
2026-06-17T00:59:16.0829440Z           "complete": true,
2026-06-17T00:59:16.0829808Z           "evidence": [
2026-06-17T00:59:16.0830162Z             {
2026-06-17T00:59:16.0830534Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0831006Z               "line": 631
2026-06-17T00:59:16.0831359Z             },
2026-06-17T00:59:16.0831678Z             {
2026-06-17T00:59:16.0832036Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0832480Z               "line": 655
2026-06-17T00:59:16.0832827Z             },
2026-06-17T00:59:16.0833156Z             {
2026-06-17T00:59:16.0833513Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.0833966Z               "line": 679
2026-06-17T00:59:16.0834315Z             }
2026-06-17T00:59:16.0834629Z           ]
2026-06-17T00:59:16.0834939Z         }
2026-06-17T00:59:16.0835235Z       }
2026-06-17T00:59:16.0835530Z     },
2026-06-17T00:59:16.0835829Z     {
2026-06-17T00:59:16.0836151Z       "id": "REQ-ARCH-1",
2026-06-17T00:59:16.0836581Z       "title": "Many small acyclically-layered crates",
2026-06-17T00:59:16.0837057Z       "requiredStages": [
2026-06-17T00:59:16.0837424Z         "impl"
2026-06-17T00:59:16.0837744Z       ],
2026-06-17T00:59:16.0838068Z       "stages": {
2026-06-17T00:59:16.0838397Z         "doc": {
2026-06-17T00:59:16.0838739Z           "complete": false,
2026-06-17T00:59:16.0839186Z           "evidence": []
2026-06-17T00:59:16.0839539Z         },
2026-06-17T00:59:16.0839849Z         "impl": {
2026-06-17T00:59:16.0840187Z           "complete": true,
2026-06-17T00:59:16.0840568Z           "evidence": [
2026-06-17T00:59:16.0841089Z             {
2026-06-17T00:59:16.0841458Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-17T00:59:16.0841909Z               "line": 18
2026-06-17T00:59:16.0842267Z             },
2026-06-17T00:59:16.0842582Z             {
2026-06-17T00:59:16.0842955Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-17T00:59:16.0843397Z               "line": 12
2026-06-17T00:59:16.0843754Z             },
2026-06-17T00:59:16.0844078Z             {
2026-06-17T00:59:16.0844450Z               "path": "crates/spt-store/src/lib.rs",
2026-06-17T00:59:16.0844909Z               "line": 12
2026-06-17T00:59:16.0845384Z             }
2026-06-17T00:59:16.0845704Z           ]
2026-06-17T00:59:16.0846014Z         },
2026-06-17T00:59:16.0846319Z         "int": {
2026-06-17T00:59:16.0846659Z           "complete": false,
2026-06-17T00:59:16.0847035Z           "evidence": []
2026-06-17T00:59:16.0847388Z         },
2026-06-17T00:59:16.0847693Z         "unit": {
2026-06-17T00:59:16.0848032Z           "complete": false,
2026-06-17T00:59:16.0848425Z           "evidence": []
2026-06-17T00:59:16.0848763Z         }
2026-06-17T00:59:16.0849129Z       }
2026-06-17T00:59:16.0849418Z     },
2026-06-17T00:59:16.0849708Z     {
2026-06-17T00:59:16.0850027Z       "id": "REQ-ARCH-2",
2026-06-17T00:59:16.0850541Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-17T00:59:16.0851090Z       "requiredStages": [
2026-06-17T00:59:16.0851447Z         "impl"
2026-06-17T00:59:16.0851762Z       ],
2026-06-17T00:59:16.0852074Z       "stages": {
2026-06-17T00:59:16.0852398Z         "doc": {
2026-06-17T00:59:16.0852737Z           "complete": false,
2026-06-17T00:59:16.0853127Z           "evidence": []
2026-06-17T00:59:16.0853485Z         },
2026-06-17T00:59:16.0853795Z         "impl": {
2026-06-17T00:59:16.0854140Z           "complete": true,
2026-06-17T00:59:16.0854516Z           "evidence": [
2026-06-17T00:59:16.0854863Z             {
2026-06-17T00:59:16.0855240Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-17T00:59:16.0855697Z               "line": 18
2026-06-17T00:59:16.0856040Z             }
2026-06-17T00:59:16.0856360Z           ]
2026-06-17T00:59:16.0856679Z         },
2026-06-17T00:59:16.0856982Z         "int": {
2026-06-17T00:59:16.0857319Z           "complete": false,
2026-06-17T00:59:16.0857696Z           "evidence": []
2026-06-17T00:59:16.0858040Z         },
2026-06-17T00:59:16.0858355Z         "unit": {
2026-06-17T00:59:16.0858693Z           "complete": false,
2026-06-17T00:59:16.0859146Z           "evidence": []
2026-06-17T00:59:16.0859494Z         }
2026-06-17T00:59:16.0859803Z       }
2026-06-17T00:59:16.0860110Z     },
2026-06-17T00:59:16.0860406Z     {
2026-06-17T00:59:16.0860720Z       "id": "REQ-ARCH-3",
2026-06-17T00:59:16.0861283Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-17T00:59:16.0861894Z       "requiredStages": [
2026-06-17T00:59:16.0862247Z         "impl",
2026-06-17T00:59:16.0862729Z         "unit"
2026-06-17T00:59:16.0863029Z       ],
2026-06-17T00:59:16.0863283Z       "stages": {
2026-06-17T00:59:16.0863493Z         "doc": {
2026-06-17T00:59:16.0863726Z           "complete": false,
2026-06-17T00:59:16.0863978Z           "evidence": []
2026-06-17T00:59:16.0864193Z         },
2026-06-17T00:59:16.0864385Z         "impl": {
2026-06-17T00:59:16.0864603Z           "complete": true,
2026-06-17T00:59:16.0864846Z           "evidence": [
2026-06-17T00:59:16.0865062Z             {
2026-06-17T00:59:16.0865327Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T00:59:16.0865618Z               "line": 34
2026-06-17T00:59:16.0865842Z             },
2026-06-17T00:59:16.0866053Z             {
2026-06-17T00:59:16.0866310Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T00:59:16.0866591Z               "line": 41
2026-06-17T00:59:16.0866815Z             }
2026-06-17T00:59:16.0867016Z           ]
2026-06-17T00:59:16.0867206Z         },
2026-06-17T00:59:16.0867406Z         "int": {
2026-06-17T00:59:16.0867850Z           "complete": false,
2026-06-17T00:59:16.0868103Z           "evidence": []
2026-06-17T00:59:16.0868323Z         },
2026-06-17T00:59:16.0868518Z         "unit": {
2026-06-17T00:59:16.0868737Z           "complete": true,
2026-06-17T00:59:16.0869066Z           "evidence": [
2026-06-17T00:59:16.0869472Z             {
2026-06-17T00:59:16.0869907Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T00:59:16.0870296Z               "line": 51
2026-06-17T00:59:16.0870586Z             },
2026-06-17T00:59:16.0870847Z             {
2026-06-17T00:59:16.0871162Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T00:59:16.0871811Z               "line": 71
2026-06-17T00:59:16.0872102Z             },
2026-06-17T00:59:16.0872344Z             {
2026-06-17T00:59:16.0872654Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T00:59:16.0873015Z               "line": 83
2026-06-17T00:59:16.0873284Z             }
2026-06-17T00:59:16.0873523Z           ]
2026-06-17T00:59:16.0873776Z         }
2026-06-17T00:59:16.0874006Z       }
2026-06-17T00:59:16.0874238Z     },
2026-06-17T00:59:16.0874472Z     {
2026-06-17T00:59:16.0874730Z       "id": "REQ-ARCH-4",
2026-06-17T00:59:16.0875154Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-17T00:59:16.0875589Z       "requiredStages": [
2026-06-17T00:59:16.0875868Z         "impl",
2026-06-17T00:59:16.0876125Z         "unit"
2026-06-17T00:59:16.0876374Z       ],
2026-06-17T00:59:16.0876622Z       "stages": {
2026-06-17T00:59:16.0876875Z         "doc": {
2026-06-17T00:59:16.0877156Z           "complete": false,
2026-06-17T00:59:16.0877456Z           "evidence": []
2026-06-17T00:59:16.0877723Z         },
2026-06-17T00:59:16.0877971Z         "impl": {
2026-06-17T00:59:16.0878279Z           "complete": true,
2026-06-17T00:59:16.0878564Z           "evidence": [
2026-06-17T00:59:16.0878788Z             {
2026-06-17T00:59:16.0879122Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0879432Z               "line": 165
2026-06-17T00:59:16.0879669Z             },
2026-06-17T00:59:16.0879889Z             {
2026-06-17T00:59:16.0880143Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0880429Z               "line": 188
2026-06-17T00:59:16.0880657Z             },
2026-06-17T00:59:16.0880861Z             {
2026-06-17T00:59:16.0881109Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0881393Z               "line": 208
2026-06-17T00:59:16.0881626Z             },
2026-06-17T00:59:16.0881827Z             {
2026-06-17T00:59:16.0882065Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0882352Z               "line": 223
2026-06-17T00:59:16.0882580Z             },
2026-06-17T00:59:16.0882780Z             {
2026-06-17T00:59:16.0883024Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0883301Z               "line": 273
2026-06-17T00:59:16.0883532Z             }
2026-06-17T00:59:16.0883735Z           ]
2026-06-17T00:59:16.0883941Z         },
2026-06-17T00:59:16.0884140Z         "int": {
2026-06-17T00:59:16.0884365Z           "complete": false,
2026-06-17T00:59:16.0884608Z           "evidence": []
2026-06-17T00:59:16.0884832Z         },
2026-06-17T00:59:16.0885027Z         "unit": {
2026-06-17T00:59:16.0885261Z           "complete": true,
2026-06-17T00:59:16.0885505Z           "evidence": [
2026-06-17T00:59:16.0885733Z             {
2026-06-17T00:59:16.0885990Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0886276Z               "line": 334
2026-06-17T00:59:16.0886505Z             },
2026-06-17T00:59:16.0886709Z             {
2026-06-17T00:59:16.0886948Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0887239Z               "line": 344
2026-06-17T00:59:16.0887478Z             },
2026-06-17T00:59:16.0887682Z             {
2026-06-17T00:59:16.0887931Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0888207Z               "line": 355
2026-06-17T00:59:16.0888645Z             },
2026-06-17T00:59:16.0888853Z             {
2026-06-17T00:59:16.0889176Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0889472Z               "line": 366
2026-06-17T00:59:16.0889706Z             },
2026-06-17T00:59:16.0889915Z             {
2026-06-17T00:59:16.0890149Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0890421Z               "line": 378
2026-06-17T00:59:16.0890636Z             },
2026-06-17T00:59:16.0890845Z             {
2026-06-17T00:59:16.0891088Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0891502Z               "line": 391
2026-06-17T00:59:16.0891729Z             },
2026-06-17T00:59:16.0891938Z             {
2026-06-17T00:59:16.0892181Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0892453Z               "line": 402
2026-06-17T00:59:16.0892673Z             },
2026-06-17T00:59:16.0892878Z             {
2026-06-17T00:59:16.0893116Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0893397Z               "line": 419
2026-06-17T00:59:16.0893612Z             },
2026-06-17T00:59:16.0893823Z             {
2026-06-17T00:59:16.0894050Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.0894324Z               "line": 547
2026-06-17T00:59:16.0894539Z             }
2026-06-17T00:59:16.0894738Z           ]
2026-06-17T00:59:16.0894944Z         }
2026-06-17T00:59:16.0895145Z       }
2026-06-17T00:59:16.0895339Z     },
2026-06-17T00:59:16.0895526Z     {
2026-06-17T00:59:16.0895741Z       "id": "REQ-CLI-1",
2026-06-17T00:59:16.0897089Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-17T00:59:16.0898325Z       "requiredStages": [
2026-06-17T00:59:16.0898552Z         "impl",
2026-06-17T00:59:16.0898767Z         "unit"
2026-06-17T00:59:16.0899044Z       ],
2026-06-17T00:59:16.0899257Z       "stages": {
2026-06-17T00:59:16.0899465Z         "doc": {
2026-06-17T00:59:16.0899680Z           "complete": false,
2026-06-17T00:59:16.0899918Z           "evidence": []
2026-06-17T00:59:16.0900141Z         },
2026-06-17T00:59:16.0900338Z         "impl": {
2026-06-17T00:59:16.0900553Z           "complete": true,
2026-06-17T00:59:16.0900789Z           "evidence": [
2026-06-17T00:59:16.0901024Z             {
2026-06-17T00:59:16.0901268Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0901549Z               "line": 225
2026-06-17T00:59:16.0901778Z             },
2026-06-17T00:59:16.0901982Z             {
2026-06-17T00:59:16.0918900Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0919334Z               "line": 1045
2026-06-17T00:59:16.0919568Z             },
2026-06-17T00:59:16.0919779Z             {
2026-06-17T00:59:16.0920016Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0920301Z               "line": 1573
2026-06-17T00:59:16.0920533Z             },
2026-06-17T00:59:16.0920718Z             {
2026-06-17T00:59:16.0920956Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0921238Z               "line": 2866
2026-06-17T00:59:16.0921453Z             }
2026-06-17T00:59:16.0921658Z           ]
2026-06-17T00:59:16.0921858Z         },
2026-06-17T00:59:16.0922049Z         "int": {
2026-06-17T00:59:16.0922263Z           "complete": false,
2026-06-17T00:59:16.0922511Z           "evidence": []
2026-06-17T00:59:16.0922731Z         },
2026-06-17T00:59:16.0922922Z         "unit": {
2026-06-17T00:59:16.0923140Z           "complete": true,
2026-06-17T00:59:16.0923381Z           "evidence": [
2026-06-17T00:59:16.0923600Z             {
2026-06-17T00:59:16.0923823Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0924277Z               "line": 7278
2026-06-17T00:59:16.0924506Z             }
2026-06-17T00:59:16.0924706Z           ]
2026-06-17T00:59:16.0924898Z         }
2026-06-17T00:59:16.0925092Z       }
2026-06-17T00:59:16.0925288Z     },
2026-06-17T00:59:16.0925479Z     {
2026-06-17T00:59:16.0925678Z       "id": "REQ-CLI-2",
2026-06-17T00:59:16.0926572Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-17T00:59:16.0927573Z       "requiredStages": [
2026-06-17T00:59:16.0927793Z         "impl",
2026-06-17T00:59:16.0928007Z         "unit"
2026-06-17T00:59:16.0928207Z       ],
2026-06-17T00:59:16.0928399Z       "stages": {
2026-06-17T00:59:16.0928607Z         "doc": {
2026-06-17T00:59:16.0928823Z           "complete": false,
2026-06-17T00:59:16.0929122Z           "evidence": []
2026-06-17T00:59:16.0929361Z         },
2026-06-17T00:59:16.0929560Z         "impl": {
2026-06-17T00:59:16.0929775Z           "complete": true,
2026-06-17T00:59:16.0930010Z           "evidence": [
2026-06-17T00:59:16.0930237Z             {
2026-06-17T00:59:16.0930485Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.0930776Z               "line": 382
2026-06-17T00:59:16.0931004Z             },
2026-06-17T00:59:16.0931202Z             {
2026-06-17T00:59:16.0931455Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T00:59:16.0931750Z               "line": 97
2026-06-17T00:59:16.0931975Z             },
2026-06-17T00:59:16.0932184Z             {
2026-06-17T00:59:16.0932432Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.0932723Z               "line": 239
2026-06-17T00:59:16.0932934Z             },
2026-06-17T00:59:16.0933128Z             {
2026-06-17T00:59:16.0933367Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0933638Z               "line": 419
2026-06-17T00:59:16.0933857Z             },
2026-06-17T00:59:16.0934064Z             {
2026-06-17T00:59:16.0934284Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0934561Z               "line": 1128
2026-06-17T00:59:16.0934785Z             },
2026-06-17T00:59:16.0934984Z             {
2026-06-17T00:59:16.0935209Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0935472Z               "line": 1774
2026-06-17T00:59:16.0935690Z             },
2026-06-17T00:59:16.0935886Z             {
2026-06-17T00:59:16.0936116Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0936381Z               "line": 1853
2026-06-17T00:59:16.0936602Z             },
2026-06-17T00:59:16.0936808Z             {
2026-06-17T00:59:16.0937032Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0937284Z               "line": 1914
2026-06-17T00:59:16.0937495Z             }
2026-06-17T00:59:16.0937691Z           ]
2026-06-17T00:59:16.0937885Z         },
2026-06-17T00:59:16.0938081Z         "int": {
2026-06-17T00:59:16.0938296Z           "complete": false,
2026-06-17T00:59:16.0938543Z           "evidence": []
2026-06-17T00:59:16.0938758Z         },
2026-06-17T00:59:16.0939017Z         "unit": {
2026-06-17T00:59:16.0939228Z           "complete": true,
2026-06-17T00:59:16.0939462Z           "evidence": [
2026-06-17T00:59:16.0939678Z             {
2026-06-17T00:59:16.0952899Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.0953247Z               "line": 309
2026-06-17T00:59:16.0953491Z             },
2026-06-17T00:59:16.0953716Z             {
2026-06-17T00:59:16.0953944Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0954225Z               "line": 7416
2026-06-17T00:59:16.0954449Z             }
2026-06-17T00:59:16.0954646Z           ]
2026-06-17T00:59:16.0954834Z         }
2026-06-17T00:59:16.0955034Z       }
2026-06-17T00:59:16.0955227Z     },
2026-06-17T00:59:16.0955419Z     {
2026-06-17T00:59:16.0955809Z       "id": "REQ-CLI-3",
2026-06-17T00:59:16.0956725Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-17T00:59:16.0957600Z       "requiredStages": [
2026-06-17T00:59:16.0957837Z         "impl",
2026-06-17T00:59:16.0958047Z         "unit"
2026-06-17T00:59:16.0958253Z       ],
2026-06-17T00:59:16.0958453Z       "stages": {
2026-06-17T00:59:16.0958662Z         "doc": {
2026-06-17T00:59:16.0959072Z           "complete": false,
2026-06-17T00:59:16.0959306Z           "evidence": []
2026-06-17T00:59:16.0959521Z         },
2026-06-17T00:59:16.0959722Z         "impl": {
2026-06-17T00:59:16.0959945Z           "complete": true,
2026-06-17T00:59:16.0960183Z           "evidence": [
2026-06-17T00:59:16.0960407Z             {
2026-06-17T00:59:16.0960654Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0960931Z               "line": 1039
2026-06-17T00:59:16.0961155Z             }
2026-06-17T00:59:16.0961361Z           ]
2026-06-17T00:59:16.0961555Z         },
2026-06-17T00:59:16.0961747Z         "int": {
2026-06-17T00:59:16.0961981Z           "complete": false,
2026-06-17T00:59:16.0962223Z           "evidence": []
2026-06-17T00:59:16.0962442Z         },
2026-06-17T00:59:16.0962642Z         "unit": {
2026-06-17T00:59:16.0962854Z           "complete": true,
2026-06-17T00:59:16.0963093Z           "evidence": [
2026-06-17T00:59:16.0963312Z             {
2026-06-17T00:59:16.0963540Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0963816Z               "line": 7243
2026-06-17T00:59:16.0964027Z             }
2026-06-17T00:59:16.0964228Z           ]
2026-06-17T00:59:16.0964423Z         }
2026-06-17T00:59:16.0964615Z       }
2026-06-17T00:59:16.0964809Z     },
2026-06-17T00:59:16.0964990Z     {
2026-06-17T00:59:16.0965201Z       "id": "REQ-CONSENT-1",
2026-06-17T00:59:16.0966308Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-17T00:59:16.0967357Z       "requiredStages": [
2026-06-17T00:59:16.0967594Z         "impl",
2026-06-17T00:59:16.0967802Z         "unit"
2026-06-17T00:59:16.0968003Z       ],
2026-06-17T00:59:16.0968193Z       "stages": {
2026-06-17T00:59:16.0968407Z         "doc": {
2026-06-17T00:59:16.0968631Z           "complete": false,
2026-06-17T00:59:16.0968870Z           "evidence": []
2026-06-17T00:59:16.0969156Z         },
2026-06-17T00:59:16.0969352Z         "impl": {
2026-06-17T00:59:16.0969575Z           "complete": true,
2026-06-17T00:59:16.0969809Z           "evidence": [
2026-06-17T00:59:16.0970030Z             {
2026-06-17T00:59:16.0970282Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0970572Z               "line": 27
2026-06-17T00:59:16.0970790Z             },
2026-06-17T00:59:16.0970996Z             {
2026-06-17T00:59:16.0971248Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0971538Z               "line": 75
2026-06-17T00:59:16.0971754Z             },
2026-06-17T00:59:16.0971954Z             {
2026-06-17T00:59:16.0972192Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0972478Z               "line": 98
2026-06-17T00:59:16.0972702Z             },
2026-06-17T00:59:16.0972918Z             {
2026-06-17T00:59:16.0973168Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0973461Z               "line": 82
2026-06-17T00:59:16.0973686Z             },
2026-06-17T00:59:16.0973882Z             {
2026-06-17T00:59:16.0974124Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0974511Z               "line": 109
2026-06-17T00:59:16.0974740Z             },
2026-06-17T00:59:16.0974950Z             {
2026-06-17T00:59:16.0975189Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0975470Z               "line": 127
2026-06-17T00:59:16.0975679Z             },
2026-06-17T00:59:16.0975875Z             {
2026-06-17T00:59:16.0976112Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0976386Z               "line": 142
2026-06-17T00:59:16.0976610Z             },
2026-06-17T00:59:16.0976811Z             {
2026-06-17T00:59:16.0977040Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0977427Z               "line": 6720
2026-06-17T00:59:16.0977650Z             }
2026-06-17T00:59:16.0977845Z           ]
2026-06-17T00:59:16.0978042Z         },
2026-06-17T00:59:16.0978236Z         "int": {
2026-06-17T00:59:16.0978450Z           "complete": false,
2026-06-17T00:59:16.0978688Z           "evidence": []
2026-06-17T00:59:16.0978919Z         },
2026-06-17T00:59:16.0979210Z         "unit": {
2026-06-17T00:59:16.0979421Z           "complete": true,
2026-06-17T00:59:16.0979664Z           "evidence": [
2026-06-17T00:59:16.0979873Z             {
2026-06-17T00:59:16.0980116Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0980398Z               "line": 334
2026-06-17T00:59:16.0980618Z             },
2026-06-17T00:59:16.0980822Z             {
2026-06-17T00:59:16.0981060Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0981345Z               "line": 380
2026-06-17T00:59:16.0981561Z             },
2026-06-17T00:59:16.0981764Z             {
2026-06-17T00:59:16.0981985Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0982266Z               "line": 391
2026-06-17T00:59:16.0982486Z             },
2026-06-17T00:59:16.0982675Z             {
2026-06-17T00:59:16.0982909Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0983182Z               "line": 165
2026-06-17T00:59:16.0983411Z             },
2026-06-17T00:59:16.0983605Z             {
2026-06-17T00:59:16.0983833Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0984113Z               "line": 184
2026-06-17T00:59:16.0984322Z             },
2026-06-17T00:59:16.0984509Z             {
2026-06-17T00:59:16.0984747Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T00:59:16.0985014Z               "line": 204
2026-06-17T00:59:16.0985238Z             },
2026-06-17T00:59:16.0985443Z             {
2026-06-17T00:59:16.0985673Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0985949Z               "line": 7596
2026-06-17T00:59:16.0986177Z             }
2026-06-17T00:59:16.0986379Z           ]
2026-06-17T00:59:16.0986567Z         }
2026-06-17T00:59:16.0986761Z       }
2026-06-17T00:59:16.0986956Z     },
2026-06-17T00:59:16.0987147Z     {
2026-06-17T00:59:16.0987362Z       "id": "REQ-CONSENT-2",
2026-06-17T00:59:16.0988367Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-17T00:59:16.0989408Z       "requiredStages": [
2026-06-17T00:59:16.0989638Z         "impl",
2026-06-17T00:59:16.0989842Z         "unit"
2026-06-17T00:59:16.0990037Z       ],
2026-06-17T00:59:16.0990224Z       "stages": {
2026-06-17T00:59:16.0990433Z         "doc": {
2026-06-17T00:59:16.0990644Z           "complete": false,
2026-06-17T00:59:16.0990882Z           "evidence": []
2026-06-17T00:59:16.0991102Z         },
2026-06-17T00:59:16.0991301Z         "impl": {
2026-06-17T00:59:16.0991526Z           "complete": true,
2026-06-17T00:59:16.0991760Z           "evidence": [
2026-06-17T00:59:16.0991973Z             {
2026-06-17T00:59:16.0992211Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0992621Z               "line": 140
2026-06-17T00:59:16.0992831Z             },
2026-06-17T00:59:16.0993031Z             {
2026-06-17T00:59:16.0993274Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0993550Z               "line": 165
2026-06-17T00:59:16.0993770Z             },
2026-06-17T00:59:16.0993971Z             {
2026-06-17T00:59:16.0994217Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0994501Z               "line": 199
2026-06-17T00:59:16.0994712Z             },
2026-06-17T00:59:16.0994906Z             {
2026-06-17T00:59:16.0995149Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0995530Z               "line": 241
2026-06-17T00:59:16.0995746Z             },
2026-06-17T00:59:16.0995937Z             {
2026-06-17T00:59:16.0996169Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0996446Z               "line": 269
2026-06-17T00:59:16.0996652Z             },
2026-06-17T00:59:16.0996857Z             {
2026-06-17T00:59:16.0997098Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.0997378Z               "line": 300
2026-06-17T00:59:16.0997593Z             },
2026-06-17T00:59:16.0997783Z             {
2026-06-17T00:59:16.0997998Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0998270Z               "line": 6511
2026-06-17T00:59:16.0998490Z             },
2026-06-17T00:59:16.0998684Z             {
2026-06-17T00:59:16.0998908Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.0999256Z               "line": 6569
2026-06-17T00:59:16.0999482Z             }
2026-06-17T00:59:16.0999684Z           ]
2026-06-17T00:59:16.0999874Z         },
2026-06-17T00:59:16.1000073Z         "int": {
2026-06-17T00:59:16.1000292Z           "complete": false,
2026-06-17T00:59:16.1000537Z           "evidence": []
2026-06-17T00:59:16.1000756Z         },
2026-06-17T00:59:16.1000955Z         "unit": {
2026-06-17T00:59:16.1001165Z           "complete": true,
2026-06-17T00:59:16.1001400Z           "evidence": [
2026-06-17T00:59:16.1001618Z             {
2026-06-17T00:59:16.1001862Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.1002151Z               "line": 419
2026-06-17T00:59:16.1002373Z             },
2026-06-17T00:59:16.1002570Z             {
2026-06-17T00:59:16.1002804Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.1003091Z               "line": 436
2026-06-17T00:59:16.1003311Z             },
2026-06-17T00:59:16.1003529Z             {
2026-06-17T00:59:16.1003772Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.1004063Z               "line": 472
2026-06-17T00:59:16.1004284Z             },
2026-06-17T00:59:16.1004478Z             {
2026-06-17T00:59:16.1004716Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.1004995Z               "line": 516
2026-06-17T00:59:16.1005214Z             },
2026-06-17T00:59:16.1005419Z             {
2026-06-17T00:59:16.1005648Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1005920Z               "line": 8838
2026-06-17T00:59:16.1006135Z             },
2026-06-17T00:59:16.1006334Z             {
2026-06-17T00:59:16.1006563Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1006822Z               "line": 8920
2026-06-17T00:59:16.1007049Z             }
2026-06-17T00:59:16.1007249Z           ]
2026-06-17T00:59:16.1007447Z         }
2026-06-17T00:59:16.1007635Z       }
2026-06-17T00:59:16.1007825Z     },
2026-06-17T00:59:16.1008009Z     {
2026-06-17T00:59:16.1008210Z       "id": "REQ-CONSENT-3",
2026-06-17T00:59:16.1010471Z       "title": "Per-capability approval gates (class-keyed): the require_approval enum may ride INDIVIDUAL [shell.capabilities] entries — gating the dangerous ACT, not just the spawn — with an optional class_key scoping the grant qualifier finer than the capability id ((owner endpoint x device class x node); a remembered HID-class attach grant never authorizes a storage-class attach). Reuses the grant store + interactive escalation + tighten-only floor (REQ-CONSENT-1/2 plumbing). Spawn gates govern EXISTENCE; capability gates govern ACTS — an explicitly distinct invariant (CONTEXT:283, ratified 2026-06-11 Gateway grill).",
2026-06-17T00:59:16.1012336Z       "requiredStages": [
2026-06-17T00:59:16.1012566Z         "doc",
2026-06-17T00:59:16.1012774Z         "impl",
2026-06-17T00:59:16.1012984Z         "unit",
2026-06-17T00:59:16.1013183Z         "int"
2026-06-17T00:59:16.1013379Z       ],
2026-06-17T00:59:16.1013571Z       "stages": {
2026-06-17T00:59:16.1013779Z         "doc": {
2026-06-17T00:59:16.1014137Z           "complete": true,
2026-06-17T00:59:16.1014375Z           "evidence": [
2026-06-17T00:59:16.1014590Z             {
2026-06-17T00:59:16.1014815Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.1015062Z               "line": 292
2026-06-17T00:59:16.1015281Z             }
2026-06-17T00:59:16.1015471Z           ]
2026-06-17T00:59:16.1075072Z         },
2026-06-17T00:59:16.1075377Z         "impl": {
2026-06-17T00:59:16.1075645Z           "complete": true,
2026-06-17T00:59:16.1075922Z           "evidence": [
2026-06-17T00:59:16.1076154Z             {
2026-06-17T00:59:16.1076420Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1076730Z               "line": 123
2026-06-17T00:59:16.1076959Z             },
2026-06-17T00:59:16.1077164Z             {
2026-06-17T00:59:16.1077411Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1077712Z               "line": 162
2026-06-17T00:59:16.1077932Z             },
2026-06-17T00:59:16.1078147Z             {
2026-06-17T00:59:16.1078404Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1078703Z               "line": 291
2026-06-17T00:59:16.1078925Z             },
2026-06-17T00:59:16.1079207Z             {
2026-06-17T00:59:16.1079450Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1079740Z               "line": 519
2026-06-17T00:59:16.1079964Z             },
2026-06-17T00:59:16.1080160Z             {
2026-06-17T00:59:16.1080433Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1080738Z               "line": 769
2026-06-17T00:59:16.1080951Z             },
2026-06-17T00:59:16.1081156Z             {
2026-06-17T00:59:16.1081392Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1081660Z               "line": 6637
2026-06-17T00:59:16.1081873Z             }
2026-06-17T00:59:16.1082065Z           ]
2026-06-17T00:59:16.1082259Z         },
2026-06-17T00:59:16.1082455Z         "int": {
2026-06-17T00:59:16.1082684Z           "complete": true,
2026-06-17T00:59:16.1082961Z           "evidence": [
2026-06-17T00:59:16.1083193Z             {
2026-06-17T00:59:16.1083446Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-17T00:59:16.1083747Z               "line": 16
2026-06-17T00:59:16.1083963Z             }
2026-06-17T00:59:16.1084165Z           ]
2026-06-17T00:59:16.1084374Z         },
2026-06-17T00:59:16.1084569Z         "unit": {
2026-06-17T00:59:16.1084787Z           "complete": true,
2026-06-17T00:59:16.1085032Z           "evidence": [
2026-06-17T00:59:16.1085265Z             {
2026-06-17T00:59:16.1085519Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1085808Z               "line": 1019
2026-06-17T00:59:16.1086033Z             },
2026-06-17T00:59:16.1086224Z             {
2026-06-17T00:59:16.1086463Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1086744Z               "line": 1066
2026-06-17T00:59:16.1086971Z             },
2026-06-17T00:59:16.1087177Z             {
2026-06-17T00:59:16.1087419Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1087709Z               "line": 1180
2026-06-17T00:59:16.1087925Z             }
2026-06-17T00:59:16.1088121Z           ]
2026-06-17T00:59:16.1088315Z         }
2026-06-17T00:59:16.1088511Z       }
2026-06-17T00:59:16.1088698Z     },
2026-06-17T00:59:16.1089164Z     {
2026-06-17T00:59:16.1089358Z       "id": "REQ-CONV-1",
2026-06-17T00:59:16.1091049Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-17T00:59:16.1092514Z       "requiredStages": [
2026-06-17T00:59:16.1092748Z         "impl",
2026-06-17T00:59:16.1092949Z         "unit"
2026-06-17T00:59:16.1093138Z       ],
2026-06-17T00:59:16.1093335Z       "stages": {
2026-06-17T00:59:16.1093536Z         "doc": {
2026-06-17T00:59:16.1093763Z           "complete": false,
2026-06-17T00:59:16.1094006Z           "evidence": []
2026-06-17T00:59:16.1094246Z         },
2026-06-17T00:59:16.1094470Z         "impl": {
2026-06-17T00:59:16.1094687Z           "complete": true,
2026-06-17T00:59:16.1094924Z           "evidence": [
2026-06-17T00:59:16.1095153Z             {
2026-06-17T00:59:16.1095414Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1095696Z               "line": 861
2026-06-17T00:59:16.1095921Z             },
2026-06-17T00:59:16.1096121Z             {
2026-06-17T00:59:16.1096364Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.1096659Z               "line": 94
2026-06-17T00:59:16.1096845Z             },
2026-06-17T00:59:16.1097108Z             {
2026-06-17T00:59:16.1097347Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.1097626Z               "line": 345
2026-06-17T00:59:16.1097841Z             },
2026-06-17T00:59:16.1098047Z             {
2026-06-17T00:59:16.1098289Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.1098580Z               "line": 387
2026-06-17T00:59:16.1098800Z             },
2026-06-17T00:59:16.1099085Z             {
2026-06-17T00:59:16.1099358Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.1099649Z               "line": 472
2026-06-17T00:59:16.1099875Z             },
2026-06-17T00:59:16.1100083Z             {
2026-06-17T00:59:16.1100322Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1100614Z               "line": 667
2026-06-17T00:59:16.1100846Z             },
2026-06-17T00:59:16.1101042Z             {
2026-06-17T00:59:16.1101281Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1101567Z               "line": 693
2026-06-17T00:59:16.1101790Z             },
2026-06-17T00:59:16.1101990Z             {
2026-06-17T00:59:16.1102235Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.1102526Z               "line": 369
2026-06-17T00:59:16.1102742Z             },
2026-06-17T00:59:16.1102941Z             {
2026-06-17T00:59:16.1103185Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T00:59:16.1103471Z               "line": 19
2026-06-17T00:59:16.1103684Z             }
2026-06-17T00:59:16.1103881Z           ]
2026-06-17T00:59:16.1104071Z         },
2026-06-17T00:59:16.1104261Z         "int": {
2026-06-17T00:59:16.1104486Z           "complete": false,
2026-06-17T00:59:16.1104725Z           "evidence": []
2026-06-17T00:59:16.1104949Z         },
2026-06-17T00:59:16.1105144Z         "unit": {
2026-06-17T00:59:16.1105357Z           "complete": true,
2026-06-17T00:59:16.1105588Z           "evidence": [
2026-06-17T00:59:16.1105809Z             {
2026-06-17T00:59:16.1106047Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1106334Z               "line": 1263
2026-06-17T00:59:16.1106565Z             },
2026-06-17T00:59:16.1106767Z             {
2026-06-17T00:59:16.1107020Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T00:59:16.1107311Z               "line": 108
2026-06-17T00:59:16.1107659Z             },
2026-06-17T00:59:16.1107859Z             {
2026-06-17T00:59:16.1108105Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T00:59:16.1108392Z               "line": 134
2026-06-17T00:59:16.1108612Z             },
2026-06-17T00:59:16.1108820Z             {
2026-06-17T00:59:16.1109140Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T00:59:16.1109435Z               "line": 144
2026-06-17T00:59:16.1109655Z             }
2026-06-17T00:59:16.1109852Z           ]
2026-06-17T00:59:16.1110046Z         }
2026-06-17T00:59:16.1110228Z       }
2026-06-17T00:59:16.1110541Z     },
2026-06-17T00:59:16.1110743Z     {
2026-06-17T00:59:16.1110949Z       "id": "REQ-CONV-2",
2026-06-17T00:59:16.1112251Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-17T00:59:16.1113337Z       "requiredStages": [
2026-06-17T00:59:16.1113563Z         "impl",
2026-06-17T00:59:16.1113764Z         "unit"
2026-06-17T00:59:16.1113968Z       ],
2026-06-17T00:59:16.1114192Z       "stages": {
2026-06-17T00:59:16.1114398Z         "doc": {
2026-06-17T00:59:16.1114612Z           "complete": false,
2026-06-17T00:59:16.1114855Z           "evidence": []
2026-06-17T00:59:16.1115103Z         },
2026-06-17T00:59:16.1115295Z         "impl": {
2026-06-17T00:59:16.1115518Z           "complete": true,
2026-06-17T00:59:16.1115761Z           "evidence": [
2026-06-17T00:59:16.1115989Z             {
2026-06-17T00:59:16.1116254Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1116569Z               "line": 384
2026-06-17T00:59:16.1116792Z             },
2026-06-17T00:59:16.1116984Z             {
2026-06-17T00:59:16.1117246Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.1117557Z               "line": 119
2026-06-17T00:59:16.1117760Z             },
2026-06-17T00:59:16.1117956Z             {
2026-06-17T00:59:16.1118210Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1118511Z               "line": 789
2026-06-17T00:59:16.1118727Z             },
2026-06-17T00:59:16.1118919Z             {
2026-06-17T00:59:16.1119257Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1119562Z               "line": 800
2026-06-17T00:59:16.1119778Z             },
2026-06-17T00:59:16.1120078Z             {
2026-06-17T00:59:16.1120431Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.1120905Z               "line": 334
2026-06-17T00:59:16.1121227Z             },
2026-06-17T00:59:16.1121575Z             {
2026-06-17T00:59:16.1121933Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1122291Z               "line": 2819
2026-06-17T00:59:16.1122640Z             },
2026-06-17T00:59:16.1122935Z             {
2026-06-17T00:59:16.1123231Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1123656Z               "line": 2835
2026-06-17T00:59:16.1123954Z             },
2026-06-17T00:59:16.1124329Z             {
2026-06-17T00:59:16.1124643Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1124991Z               "line": 2894
2026-06-17T00:59:16.1125373Z             }
2026-06-17T00:59:16.1125649Z           ]
2026-06-17T00:59:16.1125954Z         },
2026-06-17T00:59:16.1126274Z         "int": {
2026-06-17T00:59:16.1126596Z           "complete": false,
2026-06-17T00:59:16.1127028Z           "evidence": []
2026-06-17T00:59:16.1127338Z         },
2026-06-17T00:59:16.1127662Z         "unit": {
2026-06-17T00:59:16.1127987Z           "complete": true,
2026-06-17T00:59:16.1128311Z           "evidence": [
2026-06-17T00:59:16.1128669Z             {
2026-06-17T00:59:16.1129066Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1129611Z               "line": 889
2026-06-17T00:59:16.1130004Z             },
2026-06-17T00:59:16.1130303Z             {
2026-06-17T00:59:16.1130667Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1131057Z               "line": 1014
2026-06-17T00:59:16.1131343Z             },
2026-06-17T00:59:16.1131689Z             {
2026-06-17T00:59:16.1132046Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.1132497Z               "line": 215
2026-06-17T00:59:16.1132817Z             }
2026-06-17T00:59:16.1133080Z           ]
2026-06-17T00:59:16.1133553Z         }
2026-06-17T00:59:16.1133835Z       }
2026-06-17T00:59:16.1134134Z     },
2026-06-17T00:59:16.1134437Z     {
2026-06-17T00:59:16.1134735Z       "id": "REQ-DAEMON-1",
2026-06-17T00:59:16.1135232Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-17T00:59:16.1135660Z       "requiredStages": [
2026-06-17T00:59:16.1136009Z         "impl",
2026-06-17T00:59:16.1136338Z         "unit",
2026-06-17T00:59:16.1136624Z         "int"
2026-06-17T00:59:16.1136961Z       ],
2026-06-17T00:59:16.1137245Z       "stages": {
2026-06-17T00:59:16.1137527Z         "doc": {
2026-06-17T00:59:16.1137941Z           "complete": false,
2026-06-17T00:59:16.1138270Z           "evidence": []
2026-06-17T00:59:16.1138634Z         },
2026-06-17T00:59:16.1138909Z         "impl": {
2026-06-17T00:59:16.1139282Z           "complete": true,
2026-06-17T00:59:16.1139701Z           "evidence": [
2026-06-17T00:59:16.1140011Z             {
2026-06-17T00:59:16.1140387Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1140820Z               "line": 229
2026-06-17T00:59:16.1141121Z             },
2026-06-17T00:59:16.1141454Z             {
2026-06-17T00:59:16.1141803Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1142193Z               "line": 12
2026-06-17T00:59:16.1142510Z             },
2026-06-17T00:59:16.1142811Z             {
2026-06-17T00:59:16.1143230Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1143611Z               "line": 16
2026-06-17T00:59:16.1143931Z             },
2026-06-17T00:59:16.1144245Z             {
2026-06-17T00:59:16.1144564Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1144974Z               "line": 284
2026-06-17T00:59:16.1145281Z             },
2026-06-17T00:59:16.1145553Z             {
2026-06-17T00:59:16.1145988Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1146355Z               "line": 24
2026-06-17T00:59:16.1146694Z             },
2026-06-17T00:59:16.1146994Z             {
2026-06-17T00:59:16.1147309Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1147735Z               "line": 225
2026-06-17T00:59:16.1148040Z             },
2026-06-17T00:59:16.1148477Z             {
2026-06-17T00:59:16.1148806Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1149247Z               "line": 242
2026-06-17T00:59:16.1149641Z             },
2026-06-17T00:59:16.1149923Z             {
2026-06-17T00:59:16.1150285Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1150670Z               "line": 319
2026-06-17T00:59:16.1150975Z             },
2026-06-17T00:59:16.1151347Z             {
2026-06-17T00:59:16.1151676Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1152087Z               "line": 449
2026-06-17T00:59:16.1152407Z             },
2026-06-17T00:59:16.1152705Z             {
2026-06-17T00:59:16.1153070Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T00:59:16.1153428Z               "line": 15
2026-06-17T00:59:16.1153805Z             },
2026-06-17T00:59:16.1154100Z             {
2026-06-17T00:59:16.1154438Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1154853Z               "line": 218
2026-06-17T00:59:16.1155159Z             },
2026-06-17T00:59:16.1155567Z             {
2026-06-17T00:59:16.1155956Z               "path": "crates/spt/src/api/live.rs",
2026-06-17T00:59:16.1156338Z               "line": 13
2026-06-17T00:59:16.1156705Z             },
2026-06-17T00:59:16.1157001Z             {
2026-06-17T00:59:16.1157310Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1157735Z               "line": 281
2026-06-17T00:59:16.1158034Z             },
2026-06-17T00:59:16.1158346Z             {
2026-06-17T00:59:16.1158699Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1159148Z               "line": 369
2026-06-17T00:59:16.1159696Z             }
2026-06-17T00:59:16.1159981Z           ]
2026-06-17T00:59:16.1160301Z         },
2026-06-17T00:59:16.1160597Z         "int": {
2026-06-17T00:59:16.1160911Z           "complete": true,
2026-06-17T00:59:16.1161287Z           "evidence": [
2026-06-17T00:59:16.1161592Z             {
2026-06-17T00:59:16.1162042Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-17T00:59:16.1162489Z               "line": 2
2026-06-17T00:59:16.1162798Z             },
2026-06-17T00:59:16.1163123Z             {
2026-06-17T00:59:16.1163492Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-17T00:59:16.1163907Z               "line": 16
2026-06-17T00:59:16.1164270Z             },
2026-06-17T00:59:16.1164570Z             {
2026-06-17T00:59:16.1164984Z               "path": "crates/spt/tests/live_bind_firsthost_e2e.rs",
2026-06-17T00:59:16.1165380Z               "line": 12
2026-06-17T00:59:16.1165685Z             },
2026-06-17T00:59:16.1166018Z             {
2026-06-17T00:59:16.1166368Z               "path": "crates/spt/tests/live_firsthost_e2e.rs",
2026-06-17T00:59:16.1166783Z               "line": 12
2026-06-17T00:59:16.1167103Z             },
2026-06-17T00:59:16.1167413Z             {
2026-06-17T00:59:16.1167804Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T00:59:16.1168204Z               "line": 44
2026-06-17T00:59:16.1168547Z             }
2026-06-17T00:59:16.1168864Z           ]
2026-06-17T00:59:16.1169217Z         },
2026-06-17T00:59:16.1169565Z         "unit": {
2026-06-17T00:59:16.1169884Z           "complete": true,
2026-06-17T00:59:16.1170270Z           "evidence": [
2026-06-17T00:59:16.1170595Z             {
2026-06-17T00:59:16.1170919Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1171340Z               "line": 285
2026-06-17T00:59:16.1171643Z             },
2026-06-17T00:59:16.1178874Z             {
2026-06-17T00:59:16.1179307Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1179658Z               "line": 293
2026-06-17T00:59:16.1179891Z             },
2026-06-17T00:59:16.1180096Z             {
2026-06-17T00:59:16.1180354Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1180654Z               "line": 309
2026-06-17T00:59:16.1180884Z             },
2026-06-17T00:59:16.1181083Z             {
2026-06-17T00:59:16.1181336Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1181627Z               "line": 317
2026-06-17T00:59:16.1181848Z             },
2026-06-17T00:59:16.1182045Z             {
2026-06-17T00:59:16.1182294Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1182584Z               "line": 634
2026-06-17T00:59:16.1182804Z             },
2026-06-17T00:59:16.1183008Z             {
2026-06-17T00:59:16.1183261Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1183548Z               "line": 704
2026-06-17T00:59:16.1183777Z             },
2026-06-17T00:59:16.1183976Z             {
2026-06-17T00:59:16.1184210Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1184495Z               "line": 570
2026-06-17T00:59:16.1184717Z             },
2026-06-17T00:59:16.1184898Z             {
2026-06-17T00:59:16.1185132Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1185565Z               "line": 607
2026-06-17T00:59:16.1185780Z             },
2026-06-17T00:59:16.1185981Z             {
2026-06-17T00:59:16.1186223Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1186505Z               "line": 630
2026-06-17T00:59:16.1186721Z             },
2026-06-17T00:59:16.1186911Z             {
2026-06-17T00:59:16.1187157Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1187450Z               "line": 659
2026-06-17T00:59:16.1187680Z             },
2026-06-17T00:59:16.1187870Z             {
2026-06-17T00:59:16.1188108Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1188533Z               "line": 707
2026-06-17T00:59:16.1188752Z             },
2026-06-17T00:59:16.1189038Z             {
2026-06-17T00:59:16.1189282Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1189565Z               "line": 750
2026-06-17T00:59:16.1189785Z             },
2026-06-17T00:59:16.1189989Z             {
2026-06-17T00:59:16.1190233Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T00:59:16.1190509Z               "line": 106
2026-06-17T00:59:16.1190732Z             },
2026-06-17T00:59:16.1190929Z             {
2026-06-17T00:59:16.1191167Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T00:59:16.1191449Z               "line": 132
2026-06-17T00:59:16.1191672Z             },
2026-06-17T00:59:16.1191872Z             {
2026-06-17T00:59:16.1192117Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1192393Z               "line": 473
2026-06-17T00:59:16.1192619Z             }
2026-06-17T00:59:16.1192811Z           ]
2026-06-17T00:59:16.1193006Z         }
2026-06-17T00:59:16.1193197Z       }
2026-06-17T00:59:16.1193383Z     },
2026-06-17T00:59:16.1193578Z     {
2026-06-17T00:59:16.1193779Z       "id": "REQ-DAEMON-2",
2026-06-17T00:59:16.1194070Z       "title": "Broker/brain split for seamless self-update",
2026-06-17T00:59:16.1194389Z       "requiredStages": [
2026-06-17T00:59:16.1194613Z         "impl",
2026-06-17T00:59:16.1194826Z         "unit",
2026-06-17T00:59:16.1195022Z         "int"
2026-06-17T00:59:16.1195220Z       ],
2026-06-17T00:59:16.1195412Z       "stages": {
2026-06-17T00:59:16.1195621Z         "doc": {
2026-06-17T00:59:16.1195825Z           "complete": true,
2026-06-17T00:59:16.1196064Z           "evidence": [
2026-06-17T00:59:16.1196270Z             {
2026-06-17T00:59:16.1196541Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-17T00:59:16.1196832Z               "line": 250
2026-06-17T00:59:16.1197051Z             }
2026-06-17T00:59:16.1197243Z           ]
2026-06-17T00:59:16.1197442Z         },
2026-06-17T00:59:16.1197638Z         "impl": {
2026-06-17T00:59:16.1197860Z           "complete": true,
2026-06-17T00:59:16.1198092Z           "evidence": [
2026-06-17T00:59:16.1198302Z             {
2026-06-17T00:59:16.1198546Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1198837Z               "line": 23
2026-06-17T00:59:16.1199108Z             },
2026-06-17T00:59:16.1199307Z             {
2026-06-17T00:59:16.1199555Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1199829Z               "line": 795
2026-06-17T00:59:16.1200043Z             },
2026-06-17T00:59:16.1200242Z             {
2026-06-17T00:59:16.1200461Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1200745Z               "line": 820
2026-06-17T00:59:16.1200963Z             },
2026-06-17T00:59:16.1201160Z             {
2026-06-17T00:59:16.1201399Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1201685Z               "line": 1026
2026-06-17T00:59:16.1201898Z             },
2026-06-17T00:59:16.1202094Z             {
2026-06-17T00:59:16.1202329Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1202605Z               "line": 32
2026-06-17T00:59:16.1202823Z             },
2026-06-17T00:59:16.1203020Z             {
2026-06-17T00:59:16.1203362Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1203638Z               "line": 549
2026-06-17T00:59:16.1203856Z             },
2026-06-17T00:59:16.1204048Z             {
2026-06-17T00:59:16.1204282Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1204554Z               "line": 1055
2026-06-17T00:59:16.1204777Z             },
2026-06-17T00:59:16.1204973Z             {
2026-06-17T00:59:16.1205213Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1205491Z               "line": 1342
2026-06-17T00:59:16.1205709Z             },
2026-06-17T00:59:16.1206009Z             {
2026-06-17T00:59:16.1206253Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T00:59:16.1206520Z               "line": 11
2026-06-17T00:59:16.1206738Z             },
2026-06-17T00:59:16.1206934Z             {
2026-06-17T00:59:16.1207163Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1207441Z               "line": 148
2026-06-17T00:59:16.1207663Z             },
2026-06-17T00:59:16.1207859Z             {
2026-06-17T00:59:16.1208089Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1208373Z               "line": 311
2026-06-17T00:59:16.1208594Z             },
2026-06-17T00:59:16.1208782Z             {
2026-06-17T00:59:16.1209477Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1209754Z               "line": 13
2026-06-17T00:59:16.1209968Z             },
2026-06-17T00:59:16.1210153Z             {
2026-06-17T00:59:16.1210394Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1210670Z               "line": 27
2026-06-17T00:59:16.1210887Z             },
2026-06-17T00:59:16.1211086Z             {
2026-06-17T00:59:16.1211319Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1211600Z               "line": 130
2026-06-17T00:59:16.1211805Z             },
2026-06-17T00:59:16.1211996Z             {
2026-06-17T00:59:16.1212235Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1212510Z               "line": 610
2026-06-17T00:59:16.1212726Z             },
2026-06-17T00:59:16.1212932Z             {
2026-06-17T00:59:16.1213165Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1213431Z               "line": 779
2026-06-17T00:59:16.1213627Z             },
2026-06-17T00:59:16.1213826Z             {
2026-06-17T00:59:16.1214059Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1214336Z               "line": 923
2026-06-17T00:59:16.1214551Z             },
2026-06-17T00:59:16.1214746Z             {
2026-06-17T00:59:16.1214975Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1215252Z               "line": 1010
2026-06-17T00:59:16.1215472Z             },
2026-06-17T00:59:16.1215662Z             {
2026-06-17T00:59:16.1215890Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1216175Z               "line": 1129
2026-06-17T00:59:16.1216397Z             },
2026-06-17T00:59:16.1216598Z             {
2026-06-17T00:59:16.1216836Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T00:59:16.1217113Z               "line": 10
2026-06-17T00:59:16.1217313Z             }
2026-06-17T00:59:16.1217504Z           ]
2026-06-17T00:59:16.1217696Z         },
2026-06-17T00:59:16.1217890Z         "int": {
2026-06-17T00:59:16.1218104Z           "complete": true,
2026-06-17T00:59:16.1218330Z           "evidence": [
2026-06-17T00:59:16.1218557Z             {
2026-06-17T00:59:16.1218791Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-17T00:59:16.1219169Z               "line": 17
2026-06-17T00:59:16.1219394Z             },
2026-06-17T00:59:16.1219584Z             {
2026-06-17T00:59:16.1219831Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T00:59:16.1220113Z               "line": 71
2026-06-17T00:59:16.1220328Z             },
2026-06-17T00:59:16.1220643Z             {
2026-06-17T00:59:16.1220892Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T00:59:16.1221188Z               "line": 91
2026-06-17T00:59:16.1221400Z             },
2026-06-17T00:59:16.1221595Z             {
2026-06-17T00:59:16.1221846Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T00:59:16.1222131Z               "line": 167
2026-06-17T00:59:16.1222351Z             },
2026-06-17T00:59:16.1222547Z             {
2026-06-17T00:59:16.1222791Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T00:59:16.1223080Z               "line": 209
2026-06-17T00:59:16.1223400Z             },
2026-06-17T00:59:16.1223595Z             {
2026-06-17T00:59:16.1223844Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-17T00:59:16.1224126Z               "line": 128
2026-06-17T00:59:16.1224342Z             },
2026-06-17T00:59:16.1224539Z             {
2026-06-17T00:59:16.1224787Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T00:59:16.1225064Z               "line": 59
2026-06-17T00:59:16.1225277Z             }
2026-06-17T00:59:16.1225473Z           ]
2026-06-17T00:59:16.1225669Z         },
2026-06-17T00:59:16.1225859Z         "unit": {
2026-06-17T00:59:16.1226075Z           "complete": true,
2026-06-17T00:59:16.1226313Z           "evidence": [
2026-06-17T00:59:16.1226535Z             {
2026-06-17T00:59:16.1226767Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T00:59:16.1227049Z               "line": 62
2026-06-17T00:59:16.1227263Z             },
2026-06-17T00:59:16.1227458Z             {
2026-06-17T00:59:16.1227702Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T00:59:16.1227983Z               "line": 76
2026-06-17T00:59:16.1228188Z             },
2026-06-17T00:59:16.1228388Z             {
2026-06-17T00:59:16.1228622Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T00:59:16.1228905Z               "line": 88
2026-06-17T00:59:16.1229185Z             },
2026-06-17T00:59:16.1229398Z             {
2026-06-17T00:59:16.1229630Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1229911Z               "line": 294
2026-06-17T00:59:16.1230125Z             },
2026-06-17T00:59:16.1230311Z             {
2026-06-17T00:59:16.1230555Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1230831Z               "line": 771
2026-06-17T00:59:16.1231045Z             },
2026-06-17T00:59:16.1231236Z             {
2026-06-17T00:59:16.1231466Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1231733Z               "line": 779
2026-06-17T00:59:16.1231950Z             },
2026-06-17T00:59:16.1232150Z             {
2026-06-17T00:59:16.1232392Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1232668Z               "line": 796
2026-06-17T00:59:16.1232888Z             },
2026-06-17T00:59:16.1233079Z             {
2026-06-17T00:59:16.1233302Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1233578Z               "line": 850
2026-06-17T00:59:16.1233798Z             },
2026-06-17T00:59:16.1234000Z             {
2026-06-17T00:59:16.1234227Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1234509Z               "line": 1200
2026-06-17T00:59:16.1234733Z             },
2026-06-17T00:59:16.1234927Z             {
2026-06-17T00:59:16.1235165Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1235456Z               "line": 1212
2026-06-17T00:59:16.1235676Z             },
2026-06-17T00:59:16.1235871Z             {
2026-06-17T00:59:16.1236109Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T00:59:16.1236406Z               "line": 110
2026-06-17T00:59:16.1236626Z             },
2026-06-17T00:59:16.1236825Z             {
2026-06-17T00:59:16.1237058Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T00:59:16.1237337Z               "line": 143
2026-06-17T00:59:16.1237551Z             }
2026-06-17T00:59:16.1237871Z           ]
2026-06-17T00:59:16.1238061Z         }
2026-06-17T00:59:16.1238257Z       }
2026-06-17T00:59:16.1238448Z     },
2026-06-17T00:59:16.1238629Z     {
2026-06-17T00:59:16.1238835Z       "id": "REQ-DAEMON-3",
2026-06-17T00:59:16.1239215Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-17T00:59:16.1239539Z       "requiredStages": [
2026-06-17T00:59:16.1239755Z         "impl",
2026-06-17T00:59:16.1239963Z         "unit",
2026-06-17T00:59:16.1240153Z         "int"
2026-06-17T00:59:16.1240351Z       ],
2026-06-17T00:59:16.1240542Z       "stages": {
2026-06-17T00:59:16.1240857Z         "doc": {
2026-06-17T00:59:16.1241072Z           "complete": false,
2026-06-17T00:59:16.1241310Z           "evidence": []
2026-06-17T00:59:16.1241520Z         },
2026-06-17T00:59:16.1241707Z         "impl": {
2026-06-17T00:59:16.1241920Z           "complete": true,
2026-06-17T00:59:16.1242149Z           "evidence": [
2026-06-17T00:59:16.1242369Z             {
2026-06-17T00:59:16.1242610Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1242889Z               "line": 14
2026-06-17T00:59:16.1243095Z             },
2026-06-17T00:59:16.1243291Z             {
2026-06-17T00:59:16.1243533Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T00:59:16.1243814Z               "line": 11
2026-06-17T00:59:16.1244034Z             },
2026-06-17T00:59:16.1244235Z             {
2026-06-17T00:59:16.1244467Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.1244745Z               "line": 301
2026-06-17T00:59:16.1244960Z             },
2026-06-17T00:59:16.1245155Z             {
2026-06-17T00:59:16.1245373Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1245641Z               "line": 1772
2026-06-17T00:59:16.1245859Z             },
2026-06-17T00:59:16.1246059Z             {
2026-06-17T00:59:16.1246289Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1246556Z               "line": 3959
2026-06-17T00:59:16.1246785Z             },
2026-06-17T00:59:16.1246985Z             {
2026-06-17T00:59:16.1247214Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1247477Z               "line": 3980
2026-06-17T00:59:16.1247689Z             }
2026-06-17T00:59:16.1247879Z           ]
2026-06-17T00:59:16.1248073Z         },
2026-06-17T00:59:16.1248268Z         "int": {
2026-06-17T00:59:16.1248479Z           "complete": true,
2026-06-17T00:59:16.1248708Z           "evidence": [
2026-06-17T00:59:16.1248926Z             {
2026-06-17T00:59:16.1249245Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.1249532Z               "line": 49
2026-06-17T00:59:16.1249752Z             },
2026-06-17T00:59:16.1249937Z             {
2026-06-17T00:59:16.1250176Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.1250452Z               "line": 487
2026-06-17T00:59:16.1250666Z             }
2026-06-17T00:59:16.1250859Z           ]
2026-06-17T00:59:16.1251041Z         },
2026-06-17T00:59:16.1251240Z         "unit": {
2026-06-17T00:59:16.1251450Z           "complete": true,
2026-06-17T00:59:16.1251679Z           "evidence": [
2026-06-17T00:59:16.1251889Z             {
2026-06-17T00:59:16.1252123Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1252404Z               "line": 804
2026-06-17T00:59:16.1252619Z             },
2026-06-17T00:59:16.1252824Z             {
2026-06-17T00:59:16.1253047Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1253308Z               "line": 9922
2026-06-17T00:59:16.1253531Z             }
2026-06-17T00:59:16.1253736Z           ]
2026-06-17T00:59:16.1253923Z         }
2026-06-17T00:59:16.1254117Z       }
2026-06-17T00:59:16.1254313Z     },
2026-06-17T00:59:16.1254504Z     {
2026-06-17T00:59:16.1254717Z       "id": "REQ-DAEMON-4",
2026-06-17T00:59:16.1254990Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-17T00:59:16.1255271Z       "requiredStages": [
2026-06-17T00:59:16.1255629Z         "impl",
2026-06-17T00:59:16.1255830Z         "unit",
2026-06-17T00:59:16.1259195Z         "int"
2026-06-17T00:59:16.1259444Z       ],
2026-06-17T00:59:16.1259650Z       "stages": {
2026-06-17T00:59:16.1259854Z         "doc": {
2026-06-17T00:59:16.1260064Z           "complete": false,
2026-06-17T00:59:16.1260308Z           "evidence": []
2026-06-17T00:59:16.1260527Z         },
2026-06-17T00:59:16.1260721Z         "impl": {
2026-06-17T00:59:16.1260938Z           "complete": true,
2026-06-17T00:59:16.1261174Z           "evidence": [
2026-06-17T00:59:16.1261381Z             {
2026-06-17T00:59:16.1261635Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1262077Z               "line": 439
2026-06-17T00:59:16.1262288Z             },
2026-06-17T00:59:16.1262483Z             {
2026-06-17T00:59:16.1262726Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1263007Z               "line": 504
2026-06-17T00:59:16.1263226Z             },
2026-06-17T00:59:16.1263327Z             {
2026-06-17T00:59:16.1263476Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1263583Z               "line": 526
2026-06-17T00:59:16.1263678Z             }
2026-06-17T00:59:16.1263774Z           ]
2026-06-17T00:59:16.1263877Z         },
2026-06-17T00:59:16.1263981Z         "int": {
2026-06-17T00:59:16.1264091Z           "complete": true,
2026-06-17T00:59:16.1264201Z           "evidence": [
2026-06-17T00:59:16.1264301Z             {
2026-06-17T00:59:16.1264449Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-17T00:59:16.1264549Z               "line": 42
2026-06-17T00:59:16.1264648Z             }
2026-06-17T00:59:16.1264741Z           ]
2026-06-17T00:59:16.1264840Z         },
2026-06-17T00:59:16.1264949Z         "unit": {
2026-06-17T00:59:16.1265050Z           "complete": true,
2026-06-17T00:59:16.1265154Z           "evidence": [
2026-06-17T00:59:16.1265254Z             {
2026-06-17T00:59:16.1265398Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.1265503Z               "line": 428
2026-06-17T00:59:16.1265602Z             },
2026-06-17T00:59:16.1265704Z             {
2026-06-17T00:59:16.1265850Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1265961Z               "line": 932
2026-06-17T00:59:16.1266061Z             },
2026-06-17T00:59:16.1266165Z             {
2026-06-17T00:59:16.1266304Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1266404Z               "line": 1002
2026-06-17T00:59:16.1266508Z             },
2026-06-17T00:59:16.1266607Z             {
2026-06-17T00:59:16.1266761Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1266860Z               "line": 1032
2026-06-17T00:59:16.1266966Z             },
2026-06-17T00:59:16.1267070Z             {
2026-06-17T00:59:16.1267212Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1267314Z               "line": 1065
2026-06-17T00:59:16.1267419Z             }
2026-06-17T00:59:16.1267522Z           ]
2026-06-17T00:59:16.1267619Z         }
2026-06-17T00:59:16.1267719Z       }
2026-06-17T00:59:16.1267818Z     },
2026-06-17T00:59:16.1267915Z     {
2026-06-17T00:59:16.1268029Z       "id": "REQ-DAEMON-5",
2026-06-17T00:59:16.1269613Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-17T00:59:16.1269741Z       "requiredStages": [
2026-06-17T00:59:16.1269852Z         "impl",
2026-06-17T00:59:16.1269951Z         "unit"
2026-06-17T00:59:16.1270051Z       ],
2026-06-17T00:59:16.1270157Z       "stages": {
2026-06-17T00:59:16.1270257Z         "doc": {
2026-06-17T00:59:16.1270482Z           "complete": false,
2026-06-17T00:59:16.1270595Z           "evidence": []
2026-06-17T00:59:16.1270695Z         },
2026-06-17T00:59:16.1270792Z         "impl": {
2026-06-17T00:59:16.1270910Z           "complete": true,
2026-06-17T00:59:16.1271014Z           "evidence": [
2026-06-17T00:59:16.1271121Z             {
2026-06-17T00:59:16.1271271Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1271378Z               "line": 476
2026-06-17T00:59:16.1271479Z             },
2026-06-17T00:59:16.1271577Z             {
2026-06-17T00:59:16.1271724Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1271931Z               "line": 769
2026-06-17T00:59:16.1272031Z             },
2026-06-17T00:59:16.1272138Z             {
2026-06-17T00:59:16.1272270Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1272380Z               "line": 782
2026-06-17T00:59:16.1272476Z             },
2026-06-17T00:59:16.1272575Z             {
2026-06-17T00:59:16.1272719Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1272823Z               "line": 800
2026-06-17T00:59:16.1272923Z             },
2026-06-17T00:59:16.1273024Z             {
2026-06-17T00:59:16.1273157Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1273252Z               "line": 841
2026-06-17T00:59:16.1273349Z             }
2026-06-17T00:59:16.1273444Z           ]
2026-06-17T00:59:16.1273543Z         },
2026-06-17T00:59:16.1273639Z         "int": {
2026-06-17T00:59:16.1273745Z           "complete": false,
2026-06-17T00:59:16.1273853Z           "evidence": []
2026-06-17T00:59:16.1273954Z         },
2026-06-17T00:59:16.1274055Z         "unit": {
2026-06-17T00:59:16.1274158Z           "complete": true,
2026-06-17T00:59:16.1274262Z           "evidence": [
2026-06-17T00:59:16.1274372Z             {
2026-06-17T00:59:16.1274513Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1274618Z               "line": 1189
2026-06-17T00:59:16.1274718Z             },
2026-06-17T00:59:16.1274818Z             {
2026-06-17T00:59:16.1274956Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1275071Z               "line": 1213
2026-06-17T00:59:16.1275166Z             },
2026-06-17T00:59:16.1275266Z             {
2026-06-17T00:59:16.1275410Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1275514Z               "line": 1239
2026-06-17T00:59:16.1275615Z             }
2026-06-17T00:59:16.1275714Z           ]
2026-06-17T00:59:16.1275814Z         }
2026-06-17T00:59:16.1275920Z       }
2026-06-17T00:59:16.1276015Z     },
2026-06-17T00:59:16.1276119Z     {
2026-06-17T00:59:16.1276230Z       "id": "REQ-DAEMON-6",
2026-06-17T00:59:16.1278226Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-17T00:59:16.1278350Z       "requiredStages": [
2026-06-17T00:59:16.1278446Z         "impl",
2026-06-17T00:59:16.1278546Z         "unit"
2026-06-17T00:59:16.1278646Z       ],
2026-06-17T00:59:16.1278761Z       "stages": {
2026-06-17T00:59:16.1278861Z         "doc": {
2026-06-17T00:59:16.1279051Z           "complete": false,
2026-06-17T00:59:16.1279167Z           "evidence": []
2026-06-17T00:59:16.1279270Z         },
2026-06-17T00:59:16.1279374Z         "impl": {
2026-06-17T00:59:16.1279474Z           "complete": true,
2026-06-17T00:59:16.1279578Z           "evidence": [
2026-06-17T00:59:16.1279773Z             {
2026-06-17T00:59:16.1279916Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1280030Z               "line": 463
2026-06-17T00:59:16.1280131Z             },
2026-06-17T00:59:16.1280235Z             {
2026-06-17T00:59:16.1280368Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1280474Z               "line": 494
2026-06-17T00:59:16.1280569Z             },
2026-06-17T00:59:16.1280664Z             {
2026-06-17T00:59:16.1280808Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1280912Z               "line": 55
2026-06-17T00:59:16.1281108Z             },
2026-06-17T00:59:16.1281203Z             {
2026-06-17T00:59:16.1281342Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1281442Z               "line": 70
2026-06-17T00:59:16.1281542Z             },
2026-06-17T00:59:16.1281642Z             {
2026-06-17T00:59:16.1281771Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1281885Z               "line": 1826
2026-06-17T00:59:16.1281981Z             },
2026-06-17T00:59:16.1282086Z             {
2026-06-17T00:59:16.1282218Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1282318Z               "line": 1852
2026-06-17T00:59:16.1282422Z             }
2026-06-17T00:59:16.1282520Z           ]
2026-06-17T00:59:16.1282621Z         },
2026-06-17T00:59:16.1282717Z         "int": {
2026-06-17T00:59:16.1282839Z           "complete": false,
2026-06-17T00:59:16.1282945Z           "evidence": []
2026-06-17T00:59:16.1283041Z         },
2026-06-17T00:59:16.1283140Z         "unit": {
2026-06-17T00:59:16.1283240Z           "complete": true,
2026-06-17T00:59:16.1283342Z           "evidence": [
2026-06-17T00:59:16.1283441Z             {
2026-06-17T00:59:16.1283584Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1283698Z               "line": 288
2026-06-17T00:59:16.1283803Z             },
2026-06-17T00:59:16.1283904Z             {
2026-06-17T00:59:16.1284037Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1284146Z               "line": 299
2026-06-17T00:59:16.1284243Z             },
2026-06-17T00:59:16.1284347Z             {
2026-06-17T00:59:16.1284485Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1284582Z               "line": 325
2026-06-17T00:59:16.1284671Z             },
2026-06-17T00:59:16.1284770Z             {
2026-06-17T00:59:16.1284913Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1285021Z               "line": 351
2026-06-17T00:59:16.1285120Z             }
2026-06-17T00:59:16.1285226Z           ]
2026-06-17T00:59:16.1285327Z         }
2026-06-17T00:59:16.1285425Z       }
2026-06-17T00:59:16.1285521Z     },
2026-06-17T00:59:16.1285621Z     {
2026-06-17T00:59:16.1285730Z       "id": "REQ-DAEMON-7",
2026-06-17T00:59:16.1287309Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-17T00:59:16.1287434Z       "requiredStages": [
2026-06-17T00:59:16.1287534Z         "impl",
2026-06-17T00:59:16.1287637Z         "unit"
2026-06-17T00:59:16.1287733Z       ],
2026-06-17T00:59:16.1287833Z       "stages": {
2026-06-17T00:59:16.1287933Z         "doc": {
2026-06-17T00:59:16.1288042Z           "complete": false,
2026-06-17T00:59:16.1288143Z           "evidence": []
2026-06-17T00:59:16.1288243Z         },
2026-06-17T00:59:16.1288347Z         "impl": {
2026-06-17T00:59:16.1288453Z           "complete": true,
2026-06-17T00:59:16.1288558Z           "evidence": [
2026-06-17T00:59:16.1288662Z             {
2026-06-17T00:59:16.1288877Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1289311Z               "line": 513
2026-06-17T00:59:16.1289412Z             },
2026-06-17T00:59:16.1289516Z             {
2026-06-17T00:59:16.1289664Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1289764Z               "line": 601
2026-06-17T00:59:16.1289868Z             },
2026-06-17T00:59:16.1289968Z             {
2026-06-17T00:59:16.1290114Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1290213Z               "line": 89
2026-06-17T00:59:16.1290314Z             },
2026-06-17T00:59:16.1290533Z             {
2026-06-17T00:59:16.1290657Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1290767Z               "line": 1773
2026-06-17T00:59:16.1290866Z             }
2026-06-17T00:59:16.1290968Z           ]
2026-06-17T00:59:16.1291072Z         },
2026-06-17T00:59:16.1291181Z         "int": {
2026-06-17T00:59:16.1291297Z           "complete": false,
2026-06-17T00:59:16.1291406Z           "evidence": []
2026-06-17T00:59:16.1291510Z         },
2026-06-17T00:59:16.1291617Z         "unit": {
2026-06-17T00:59:16.1291725Z           "complete": true,
2026-06-17T00:59:16.1291834Z           "evidence": [
2026-06-17T00:59:16.1291936Z             {
2026-06-17T00:59:16.1292077Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1292178Z               "line": 314
2026-06-17T00:59:16.1292284Z             },
2026-06-17T00:59:16.1292383Z             {
2026-06-17T00:59:16.1292508Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1292613Z               "line": 7416
2026-06-17T00:59:16.1292712Z             }
2026-06-17T00:59:16.1292816Z           ]
2026-06-17T00:59:16.1292906Z         }
2026-06-17T00:59:16.1293000Z       }
2026-06-17T00:59:16.1293099Z     },
2026-06-17T00:59:16.1293195Z     {
2026-06-17T00:59:16.1293291Z       "id": "REQ-DAEMON-8",
2026-06-17T00:59:16.1294282Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-17T00:59:16.1294396Z       "requiredStages": [
2026-06-17T00:59:16.1294498Z         "impl",
2026-06-17T00:59:16.1294606Z         "unit"
2026-06-17T00:59:16.1294706Z       ],
2026-06-17T00:59:16.1294808Z       "stages": {
2026-06-17T00:59:16.1294912Z         "doc": {
2026-06-17T00:59:16.1295021Z           "complete": false,
2026-06-17T00:59:16.1295132Z           "evidence": []
2026-06-17T00:59:16.1295232Z         },
2026-06-17T00:59:16.1295330Z         "impl": {
2026-06-17T00:59:16.1295440Z           "complete": true,
2026-06-17T00:59:16.1295549Z           "evidence": [
2026-06-17T00:59:16.1295647Z             {
2026-06-17T00:59:16.1295781Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1295892Z               "line": 413
2026-06-17T00:59:16.1295995Z             },
2026-06-17T00:59:16.1296086Z             {
2026-06-17T00:59:16.1296230Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1296339Z               "line": 56
2026-06-17T00:59:16.1296425Z             }
2026-06-17T00:59:16.1296525Z           ]
2026-06-17T00:59:16.1296624Z         },
2026-06-17T00:59:16.1296726Z         "int": {
2026-06-17T00:59:16.1296830Z           "complete": false,
2026-06-17T00:59:16.1296934Z           "evidence": []
2026-06-17T00:59:16.1297040Z         },
2026-06-17T00:59:16.1297145Z         "unit": {
2026-06-17T00:59:16.1297259Z           "complete": true,
2026-06-17T00:59:16.1297370Z           "evidence": [
2026-06-17T00:59:16.1297469Z             {
2026-06-17T00:59:16.1297607Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1297704Z               "line": 288
2026-06-17T00:59:16.1297807Z             },
2026-06-17T00:59:16.1297907Z             {
2026-06-17T00:59:16.1298154Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T00:59:16.1298258Z               "line": 325
2026-06-17T00:59:16.1298355Z             }
2026-06-17T00:59:16.1298455Z           ]
2026-06-17T00:59:16.1298555Z         }
2026-06-17T00:59:16.1298665Z       }
2026-06-17T00:59:16.1298780Z     },
2026-06-17T00:59:16.1298884Z     {
2026-06-17T00:59:16.1299080Z       "id": "REQ-DAEMON-9",
2026-06-17T00:59:16.1304847Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-17T00:59:16.1305176Z       "requiredStages": [
2026-06-17T00:59:16.1305281Z         "impl",
2026-06-17T00:59:16.1305382Z         "unit"
2026-06-17T00:59:16.1305481Z       ],
2026-06-17T00:59:16.1305591Z       "stages": {
2026-06-17T00:59:16.1305683Z         "doc": {
2026-06-17T00:59:16.1305806Z           "complete": false,
2026-06-17T00:59:16.1305919Z           "evidence": []
2026-06-17T00:59:16.1306024Z         },
2026-06-17T00:59:16.1306137Z         "impl": {
2026-06-17T00:59:16.1306250Z           "complete": true,
2026-06-17T00:59:16.1306360Z           "evidence": [
2026-06-17T00:59:16.1306461Z             {
2026-06-17T00:59:16.1306622Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1306728Z               "line": 276
2026-06-17T00:59:16.1306832Z             },
2026-06-17T00:59:16.1306937Z             {
2026-06-17T00:59:16.1307085Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1307189Z               "line": 600
2026-06-17T00:59:16.1307286Z             },
2026-06-17T00:59:16.1307390Z             {
2026-06-17T00:59:16.1307538Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1307649Z               "line": 192
2026-06-17T00:59:16.1307758Z             },
2026-06-17T00:59:16.1307853Z             {
2026-06-17T00:59:16.1308001Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1308106Z               "line": 312
2026-06-17T00:59:16.1308211Z             },
2026-06-17T00:59:16.1308311Z             {
2026-06-17T00:59:16.1308458Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1308564Z               "line": 349
2026-06-17T00:59:16.1308659Z             },
2026-06-17T00:59:16.1308762Z             {
2026-06-17T00:59:16.1308896Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1309105Z               "line": 1881
2026-06-17T00:59:16.1309206Z             }
2026-06-17T00:59:16.1309301Z           ]
2026-06-17T00:59:16.1309410Z         },
2026-06-17T00:59:16.1309516Z         "int": {
2026-06-17T00:59:16.1309635Z           "complete": false,
2026-06-17T00:59:16.1309749Z           "evidence": []
2026-06-17T00:59:16.1309855Z         },
2026-06-17T00:59:16.1309959Z         "unit": {
2026-06-17T00:59:16.1310073Z           "complete": true,
2026-06-17T00:59:16.1310184Z           "evidence": [
2026-06-17T00:59:16.1310283Z             {
2026-06-17T00:59:16.1310431Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1310547Z               "line": 760
2026-06-17T00:59:16.1310646Z             },
2026-06-17T00:59:16.1310750Z             {
2026-06-17T00:59:16.1310885Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1310998Z               "line": 9787
2026-06-17T00:59:16.1311102Z             }
2026-06-17T00:59:16.1311202Z           ]
2026-06-17T00:59:16.1311405Z         }
2026-06-17T00:59:16.1311506Z       }
2026-06-17T00:59:16.1311601Z     },
2026-06-17T00:59:16.1311705Z     {
2026-06-17T00:59:16.1311840Z       "id": "REQ-DOCS-1",
2026-06-17T00:59:16.1312073Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-17T00:59:16.1312188Z       "requiredStages": [
2026-06-17T00:59:16.1312292Z         "doc",
2026-06-17T00:59:16.1312393Z         "impl"
2026-06-17T00:59:16.1312497Z       ],
2026-06-17T00:59:16.1312597Z       "stages": {
2026-06-17T00:59:16.1312703Z         "doc": {
2026-06-17T00:59:16.1312917Z           "complete": true,
2026-06-17T00:59:16.1313022Z           "evidence": [
2026-06-17T00:59:16.1313122Z             {
2026-06-17T00:59:16.1313255Z               "path": "docs-site/src/index.md",
2026-06-17T00:59:16.1313361Z               "line": 50
2026-06-17T00:59:16.1313465Z             }
2026-06-17T00:59:16.1313570Z           ]
2026-06-17T00:59:16.1313671Z         },
2026-06-17T00:59:16.1313780Z         "impl": {
2026-06-17T00:59:16.1313898Z           "complete": true,
2026-06-17T00:59:16.1314003Z           "evidence": [
2026-06-17T00:59:16.1314102Z             {
2026-06-17T00:59:16.1314262Z               "path": ".github/workflows/docs-publish.yml",
2026-06-17T00:59:16.1314373Z               "line": 12
2026-06-17T00:59:16.1314468Z             },
2026-06-17T00:59:16.1314577Z             {
2026-06-17T00:59:16.1314702Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.1314825Z               "line": 14
2026-06-17T00:59:16.1314926Z             }
2026-06-17T00:59:16.1315031Z           ]
2026-06-17T00:59:16.1315140Z         },
2026-06-17T00:59:16.1315241Z         "int": {
2026-06-17T00:59:16.1315360Z           "complete": false,
2026-06-17T00:59:16.1315464Z           "evidence": []
2026-06-17T00:59:16.1315565Z         },
2026-06-17T00:59:16.1315675Z         "unit": {
2026-06-17T00:59:16.1315798Z           "complete": false,
2026-06-17T00:59:16.1315914Z           "evidence": []
2026-06-17T00:59:16.1316018Z         }
2026-06-17T00:59:16.1316123Z       }
2026-06-17T00:59:16.1316219Z     },
2026-06-17T00:59:16.1316324Z     {
2026-06-17T00:59:16.1316436Z       "id": "REQ-DOCS-2",
2026-06-17T00:59:16.1316627Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-17T00:59:16.1316749Z       "requiredStages": [
2026-06-17T00:59:16.1316848Z         "doc",
2026-06-17T00:59:16.1316964Z         "int"
2026-06-17T00:59:16.1317064Z       ],
2026-06-17T00:59:16.1317172Z       "stages": {
2026-06-17T00:59:16.1317274Z         "doc": {
2026-06-17T00:59:16.1317392Z           "complete": true,
2026-06-17T00:59:16.1317512Z           "evidence": [
2026-06-17T00:59:16.1317612Z             {
2026-06-17T00:59:16.1317822Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-17T00:59:16.1317932Z               "line": 3
2026-06-17T00:59:16.1318031Z             },
2026-06-17T00:59:16.1318131Z             {
2026-06-17T00:59:16.1318279Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-17T00:59:16.1318403Z               "line": 3
2026-06-17T00:59:16.1318499Z             },
2026-06-17T00:59:16.1318608Z             {
2026-06-17T00:59:16.1318766Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-17T00:59:16.1318881Z               "line": 3
2026-06-17T00:59:16.1319052Z             }
2026-06-17T00:59:16.1319148Z           ]
2026-06-17T00:59:16.1319261Z         },
2026-06-17T00:59:16.1319355Z         "impl": {
2026-06-17T00:59:16.1319475Z           "complete": false,
2026-06-17T00:59:16.1319571Z           "evidence": []
2026-06-17T00:59:16.1319680Z         },
2026-06-17T00:59:16.1319780Z         "int": {
2026-06-17T00:59:16.1319900Z           "complete": true,
2026-06-17T00:59:16.1320009Z           "evidence": [
2026-06-17T00:59:16.1320105Z             {
2026-06-17T00:59:16.1320262Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T00:59:16.1320357Z               "line": 14
2026-06-17T00:59:16.1320558Z             }
2026-06-17T00:59:16.1320653Z           ]
2026-06-17T00:59:16.1320749Z         },
2026-06-17T00:59:16.1320853Z         "unit": {
2026-06-17T00:59:16.1320967Z           "complete": false,
2026-06-17T00:59:16.1321064Z           "evidence": []
2026-06-17T00:59:16.1321163Z         }
2026-06-17T00:59:16.1321263Z       }
2026-06-17T00:59:16.1321364Z     },
2026-06-17T00:59:16.1321468Z     {
2026-06-17T00:59:16.1321582Z       "id": "REQ-DOCS-3",
2026-06-17T00:59:16.1321818Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-17T00:59:16.1321936Z       "requiredStages": [
2026-06-17T00:59:16.1322133Z         "doc"
2026-06-17T00:59:16.1322232Z       ],
2026-06-17T00:59:16.1322337Z       "stages": {
2026-06-17T00:59:16.1322438Z         "doc": {
2026-06-17T00:59:16.1322552Z           "complete": true,
2026-06-17T00:59:16.1322653Z           "evidence": [
2026-06-17T00:59:16.1322752Z             {
2026-06-17T00:59:16.1322881Z               "path": "docs-site/src/index.md",
2026-06-17T00:59:16.1322987Z               "line": 42
2026-06-17T00:59:16.1323091Z             }
2026-06-17T00:59:16.1323190Z           ]
2026-06-17T00:59:16.1323292Z         },
2026-06-17T00:59:16.1323391Z         "impl": {
2026-06-17T00:59:16.1323505Z           "complete": false,
2026-06-17T00:59:16.1323607Z           "evidence": []
2026-06-17T00:59:16.1323710Z         },
2026-06-17T00:59:16.1323815Z         "int": {
2026-06-17T00:59:16.1323931Z           "complete": false,
2026-06-17T00:59:16.1324044Z           "evidence": []
2026-06-17T00:59:16.1324149Z         },
2026-06-17T00:59:16.1324256Z         "unit": {
2026-06-17T00:59:16.1324363Z           "complete": false,
2026-06-17T00:59:16.1324472Z           "evidence": []
2026-06-17T00:59:16.1324568Z         }
2026-06-17T00:59:16.1324671Z       }
2026-06-17T00:59:16.1324780Z     },
2026-06-17T00:59:16.1324870Z     {
2026-06-17T00:59:16.1324991Z       "id": "REQ-DOCS-4",
2026-06-17T00:59:16.1325215Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-17T00:59:16.1325329Z       "requiredStages": [
2026-06-17T00:59:16.1325433Z         "doc",
2026-06-17T00:59:16.1325535Z         "impl",
2026-06-17T00:59:16.1325644Z         "unit"
2026-06-17T00:59:16.1325743Z       ],
2026-06-17T00:59:16.1325854Z       "stages": {
2026-06-17T00:59:16.1325958Z         "doc": {
2026-06-17T00:59:16.1326072Z           "complete": true,
2026-06-17T00:59:16.1326183Z           "evidence": [
2026-06-17T00:59:16.1326287Z             {
2026-06-17T00:59:16.1326425Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-17T00:59:16.1326531Z               "line": 35
2026-06-17T00:59:16.1326635Z             }
2026-06-17T00:59:16.1326735Z           ]
2026-06-17T00:59:16.1326832Z         },
2026-06-17T00:59:16.1326930Z         "impl": {
2026-06-17T00:59:16.1327048Z           "complete": true,
2026-06-17T00:59:16.1327163Z           "evidence": [
2026-06-17T00:59:16.1327266Z             {
2026-06-17T00:59:16.1327423Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1327529Z               "line": 691
2026-06-17T00:59:16.1327633Z             },
2026-06-17T00:59:16.1327728Z             {
2026-06-17T00:59:16.1327858Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.1327962Z               "line": 15
2026-06-17T00:59:16.1328062Z             }
2026-06-17T00:59:16.1328163Z           ]
2026-06-17T00:59:16.1328262Z         },
2026-06-17T00:59:16.1328363Z         "int": {
2026-06-17T00:59:16.1328477Z           "complete": false,
2026-06-17T00:59:16.1328577Z           "evidence": []
2026-06-17T00:59:16.1328692Z         },
2026-06-17T00:59:16.1328797Z         "unit": {
2026-06-17T00:59:16.1328916Z           "complete": true,
2026-06-17T00:59:16.1329098Z           "evidence": [
2026-06-17T00:59:16.1329196Z             {
2026-06-17T00:59:16.1329346Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1329450Z               "line": 1444
2026-06-17T00:59:16.1329555Z             }
2026-06-17T00:59:16.1329646Z           ]
2026-06-17T00:59:16.1329868Z         }
2026-06-17T00:59:16.1329968Z       }
2026-06-17T00:59:16.1330070Z     },
2026-06-17T00:59:16.1330164Z     {
2026-06-17T00:59:16.1330283Z       "id": "REQ-DOCS-5",
2026-06-17T00:59:16.1330512Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-17T00:59:16.1330622Z       "requiredStages": [
2026-06-17T00:59:16.1330718Z         "impl",
2026-06-17T00:59:16.1330822Z         "int"
2026-06-17T00:59:16.1330922Z       ],
2026-06-17T00:59:16.1331023Z       "stages": {
2026-06-17T00:59:16.1331132Z         "doc": {
2026-06-17T00:59:16.1331237Z           "complete": false,
2026-06-17T00:59:16.1331437Z           "evidence": []
2026-06-17T00:59:16.1331542Z         },
2026-06-17T00:59:16.1331643Z         "impl": {
2026-06-17T00:59:16.1331751Z           "complete": true,
2026-06-17T00:59:16.1331852Z           "evidence": [
2026-06-17T00:59:16.1331953Z             {
2026-06-17T00:59:16.1332099Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1332208Z               "line": 692
2026-06-17T00:59:16.1332318Z             },
2026-06-17T00:59:16.1332411Z             {
2026-06-17T00:59:16.1332550Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.1332655Z               "line": 113
2026-06-17T00:59:16.1332759Z             }
2026-06-17T00:59:16.1332864Z           ]
2026-06-17T00:59:16.1332965Z         },
2026-06-17T00:59:16.1333073Z         "int": {
2026-06-17T00:59:16.1333184Z           "complete": true,
2026-06-17T00:59:16.1333303Z           "evidence": [
2026-06-17T00:59:16.1333393Z             {
2026-06-17T00:59:16.1333532Z               "path": ".github/workflows/ci.yml",
2026-06-17T00:59:16.1333641Z               "line": 126
2026-06-17T00:59:16.1333741Z             },
2026-06-17T00:59:16.1333847Z             {
2026-06-17T00:59:16.1333980Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.1334094Z               "line": 1481
2026-06-17T00:59:16.1334191Z             }
2026-06-17T00:59:16.1334303Z           ]
2026-06-17T00:59:16.1334409Z         },
2026-06-17T00:59:16.1334501Z         "unit": {
2026-06-17T00:59:16.1334609Z           "complete": false,
2026-06-17T00:59:16.1334719Z           "evidence": []
2026-06-17T00:59:16.1334820Z         }
2026-06-17T00:59:16.1334919Z       }
2026-06-17T00:59:16.1335023Z     },
2026-06-17T00:59:16.1335128Z     {
2026-06-17T00:59:16.1335232Z       "id": "REQ-DOCS-6",
2026-06-17T00:59:16.1335593Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-17T00:59:16.1335712Z       "requiredStages": [
2026-06-17T00:59:16.1335813Z         "impl",
2026-06-17T00:59:16.1335908Z         "unit",
2026-06-17T00:59:16.1336021Z         "int"
2026-06-17T00:59:16.1336123Z       ],
2026-06-17T00:59:16.1336223Z       "stages": {
2026-06-17T00:59:16.1336317Z         "doc": {
2026-06-17T00:59:16.1336428Z           "complete": true,
2026-06-17T00:59:16.1336542Z           "evidence": [
2026-06-17T00:59:16.1336632Z             {
2026-06-17T00:59:16.1336790Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-17T00:59:16.1336894Z               "line": 4
2026-06-17T00:59:16.1336990Z             }
2026-06-17T00:59:16.1337096Z           ]
2026-06-17T00:59:16.1337195Z         },
2026-06-17T00:59:16.1337300Z         "impl": {
2026-06-17T00:59:16.1337406Z           "complete": true,
2026-06-17T00:59:16.1337514Z           "evidence": [
2026-06-17T00:59:16.1337618Z             {
2026-06-17T00:59:16.1337747Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1337855Z               "line": 4957
2026-06-17T00:59:16.1337944Z             }
2026-06-17T00:59:16.1338045Z           ]
2026-06-17T00:59:16.1338146Z         },
2026-06-17T00:59:16.1338245Z         "int": {
2026-06-17T00:59:16.1338347Z           "complete": true,
2026-06-17T00:59:16.1338446Z           "evidence": [
2026-06-17T00:59:16.1338550Z             {
2026-06-17T00:59:16.1338689Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T00:59:16.1338884Z               "line": 39
2026-06-17T00:59:16.1339052Z             }
2026-06-17T00:59:16.1339161Z           ]
2026-06-17T00:59:16.1339261Z         },
2026-06-17T00:59:16.1339371Z         "unit": {
2026-06-17T00:59:16.1339500Z           "complete": true,
2026-06-17T00:59:16.1339601Z           "evidence": [
2026-06-17T00:59:16.1339704Z             {
2026-06-17T00:59:16.1339833Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1339940Z               "line": 9949
2026-06-17T00:59:16.1340047Z             }
2026-06-17T00:59:16.1340144Z           ]
2026-06-17T00:59:16.1340353Z         }
2026-06-17T00:59:16.1340447Z       }
2026-06-17T00:59:16.1340547Z     },
2026-06-17T00:59:16.1340644Z     {
2026-06-17T00:59:16.1340767Z       "id": "REQ-ELEVATE-1",
2026-06-17T00:59:16.1343977Z       "title": "Cross-platform self-elevating re-launch for privilege-gated commands: a pure decision seam `decide_elevation_path(os, elevation, interactive_tty, has_display, has_pkexec, has_term_emulator) -> ElevatePath{AlreadyElevated, InlineSudo, UacWindow, Pkexec, TerminalEmulator, PrintHint}` selecting how to re-acquire privilege, and the per-OS impure launchers it dispatches — Windows UAC console (ShellExecuteW `runas` on the abs-exe + verbatim argv; the elevated child does the work, prints 'You can close this window', and pauses for a keypress; the original prints 'Elevated terminal launched…' and exits 0; NEVER pipes the child's stdout back across the privilege boundary), Linux desktop pkexec (preferred, native polkit GUI auth) else x-terminal-emulator -e sudo (fallback list x-terminal-emulator→gnome-terminal→konsole→xterm), the existing interactive-TTY inline sudo, and the headless/no-path floor that prints the absolute-path command. Reused by every gated command (not subnet-specific). Generalizes should_auto_elevate.",
2026-06-17T00:59:16.1344126Z       "requiredStages": [
2026-06-17T00:59:16.1344226Z         "doc",
2026-06-17T00:59:16.1344330Z         "impl",
2026-06-17T00:59:16.1344436Z         "unit"
2026-06-17T00:59:16.1344540Z       ],
2026-06-17T00:59:16.1344640Z       "stages": {
2026-06-17T00:59:16.1344746Z         "doc": {
2026-06-17T00:59:16.1344850Z           "complete": true,
2026-06-17T00:59:16.1344959Z           "evidence": [
2026-06-17T00:59:16.1345061Z             {
2026-06-17T00:59:16.1345183Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.1345294Z               "line": 639
2026-06-17T00:59:16.1345390Z             }
2026-06-17T00:59:16.1345493Z           ]
2026-06-17T00:59:16.1345602Z         },
2026-06-17T00:59:16.1345702Z         "impl": {
2026-06-17T00:59:16.1345825Z           "complete": true,
2026-06-17T00:59:16.1345929Z           "evidence": [
2026-06-17T00:59:16.1346034Z             {
2026-06-17T00:59:16.1346163Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1346276Z               "line": 3296
2026-06-17T00:59:16.1346387Z             },
2026-06-17T00:59:16.1346478Z             {
2026-06-17T00:59:16.1346611Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1346716Z               "line": 3341
2026-06-17T00:59:16.1346820Z             },
2026-06-17T00:59:16.1346921Z             {
2026-06-17T00:59:16.1347045Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1347164Z               "line": 3403
2026-06-17T00:59:16.1347265Z             },
2026-06-17T00:59:16.1347369Z             {
2026-06-17T00:59:16.1347512Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1347618Z               "line": 92
2026-06-17T00:59:16.1347721Z             },
2026-06-17T00:59:16.1351218Z             {
2026-06-17T00:59:16.1351413Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1351519Z               "line": 148
2026-06-17T00:59:16.1351627Z             }
2026-06-17T00:59:16.1351728Z           ]
2026-06-17T00:59:16.1351833Z         },
2026-06-17T00:59:16.1351937Z         "int": {
2026-06-17T00:59:16.1352057Z           "complete": false,
2026-06-17T00:59:16.1352318Z           "evidence": []
2026-06-17T00:59:16.1352425Z         },
2026-06-17T00:59:16.1352529Z         "unit": {
2026-06-17T00:59:16.1352633Z           "complete": true,
2026-06-17T00:59:16.1352740Z           "evidence": [
2026-06-17T00:59:16.1352843Z             {
2026-06-17T00:59:16.1352996Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1353111Z               "line": 442
2026-06-17T00:59:16.1353205Z             },
2026-06-17T00:59:16.1353309Z             {
2026-06-17T00:59:16.1353443Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1353550Z               "line": 460
2026-06-17T00:59:16.1353742Z             }
2026-06-17T00:59:16.1353846Z           ]
2026-06-17T00:59:16.1353951Z         }
2026-06-17T00:59:16.1354052Z       }
2026-06-17T00:59:16.1354156Z     },
2026-06-17T00:59:16.1354256Z     {
2026-06-17T00:59:16.1354381Z       "id": "REQ-EP-1",
2026-06-17T00:59:16.1354542Z       "title": "Day-one endpoint types; open type system",
2026-06-17T00:59:16.1354667Z       "requiredStages": [
2026-06-17T00:59:16.1354771Z         "impl",
2026-06-17T00:59:16.1354870Z         "unit"
2026-06-17T00:59:16.1354977Z       ],
2026-06-17T00:59:16.1355081Z       "stages": {
2026-06-17T00:59:16.1355190Z         "doc": {
2026-06-17T00:59:16.1355297Z           "complete": false,
2026-06-17T00:59:16.1355401Z           "evidence": []
2026-06-17T00:59:16.1355505Z         },
2026-06-17T00:59:16.1355611Z         "impl": {
2026-06-17T00:59:16.1355729Z           "complete": true,
2026-06-17T00:59:16.1355839Z           "evidence": [
2026-06-17T00:59:16.1355940Z             {
2026-06-17T00:59:16.1356100Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1356215Z               "line": 77
2026-06-17T00:59:16.1356319Z             },
2026-06-17T00:59:16.1356417Z             {
2026-06-17T00:59:16.1356566Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1356676Z               "line": 94
2026-06-17T00:59:16.1356779Z             }
2026-06-17T00:59:16.1356881Z           ]
2026-06-17T00:59:16.1356980Z         },
2026-06-17T00:59:16.1357089Z         "int": {
2026-06-17T00:59:16.1357200Z           "complete": false,
2026-06-17T00:59:16.1357304Z           "evidence": []
2026-06-17T00:59:16.1357404Z         },
2026-06-17T00:59:16.1357510Z         "unit": {
2026-06-17T00:59:16.1357624Z           "complete": true,
2026-06-17T00:59:16.1357719Z           "evidence": [
2026-06-17T00:59:16.1357820Z             {
2026-06-17T00:59:16.1357967Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1358067Z               "line": 161
2026-06-17T00:59:16.1358173Z             },
2026-06-17T00:59:16.1358268Z             {
2026-06-17T00:59:16.1358411Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1358527Z               "line": 178
2026-06-17T00:59:16.1358629Z             }
2026-06-17T00:59:16.1358724Z           ]
2026-06-17T00:59:16.1358829Z         }
2026-06-17T00:59:16.1358928Z       }
2026-06-17T00:59:16.1359118Z     },
2026-06-17T00:59:16.1359204Z     {
2026-06-17T00:59:16.1359313Z       "id": "REQ-EP-2",
2026-06-17T00:59:16.1359519Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-17T00:59:16.1359632Z       "requiredStages": [
2026-06-17T00:59:16.1359733Z         "impl",
2026-06-17T00:59:16.1359833Z         "unit"
2026-06-17T00:59:16.1359933Z       ],
2026-06-17T00:59:16.1360038Z       "stages": {
2026-06-17T00:59:16.1360139Z         "doc": {
2026-06-17T00:59:16.1360262Z           "complete": false,
2026-06-17T00:59:16.1360367Z           "evidence": []
2026-06-17T00:59:16.1360473Z         },
2026-06-17T00:59:16.1360572Z         "impl": {
2026-06-17T00:59:16.1360687Z           "complete": true,
2026-06-17T00:59:16.1360788Z           "evidence": [
2026-06-17T00:59:16.1360896Z             {
2026-06-17T00:59:16.1361055Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1361167Z               "line": 114
2026-06-17T00:59:16.1361273Z             },
2026-06-17T00:59:16.1361464Z             {
2026-06-17T00:59:16.1361605Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1361716Z               "line": 131
2026-06-17T00:59:16.1361811Z             },
2026-06-17T00:59:16.1361915Z             {
2026-06-17T00:59:16.1362045Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1362154Z               "line": 138
2026-06-17T00:59:16.1362253Z             }
2026-06-17T00:59:16.1362355Z           ]
2026-06-17T00:59:16.1362455Z         },
2026-06-17T00:59:16.1362559Z         "int": {
2026-06-17T00:59:16.1362680Z           "complete": false,
2026-06-17T00:59:16.1362912Z           "evidence": []
2026-06-17T00:59:16.1363013Z         },
2026-06-17T00:59:16.1363113Z         "unit": {
2026-06-17T00:59:16.1363222Z           "complete": true,
2026-06-17T00:59:16.1363333Z           "evidence": [
2026-06-17T00:59:16.1363437Z             {
2026-06-17T00:59:16.1363585Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1363685Z               "line": 190
2026-06-17T00:59:16.1363794Z             },
2026-06-17T00:59:16.1363893Z             {
2026-06-17T00:59:16.1364035Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1364139Z               "line": 208
2026-06-17T00:59:16.1364244Z             },
2026-06-17T00:59:16.1364340Z             {
2026-06-17T00:59:16.1364482Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T00:59:16.1364597Z               "line": 221
2026-06-17T00:59:16.1364697Z             }
2026-06-17T00:59:16.1364801Z           ]
2026-06-17T00:59:16.1364898Z         }
2026-06-17T00:59:16.1364998Z       }
2026-06-17T00:59:16.1365107Z     },
2026-06-17T00:59:16.1365204Z     {
2026-06-17T00:59:16.1365317Z       "id": "REQ-EP-3",
2026-06-17T00:59:16.1365528Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-17T00:59:16.1365646Z       "requiredStages": [
2026-06-17T00:59:16.1365737Z         "impl",
2026-06-17T00:59:16.1365843Z         "unit"
2026-06-17T00:59:16.1365942Z       ],
2026-06-17T00:59:16.1366042Z       "stages": {
2026-06-17T00:59:16.1366143Z         "doc": {
2026-06-17T00:59:16.1366247Z           "complete": false,
2026-06-17T00:59:16.1366352Z           "evidence": []
2026-06-17T00:59:16.1366448Z         },
2026-06-17T00:59:16.1366548Z         "impl": {
2026-06-17T00:59:16.1366656Z           "complete": true,
2026-06-17T00:59:16.1366760Z           "evidence": [
2026-06-17T00:59:16.1366865Z             {
2026-06-17T00:59:16.1367010Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1367111Z               "line": 31
2026-06-17T00:59:16.1367216Z             },
2026-06-17T00:59:16.1367321Z             {
2026-06-17T00:59:16.1367470Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1367570Z               "line": 49
2026-06-17T00:59:16.1367668Z             }
2026-06-17T00:59:16.1367761Z           ]
2026-06-17T00:59:16.1367856Z         },
2026-06-17T00:59:16.1367964Z         "int": {
2026-06-17T00:59:16.1368080Z           "complete": false,
2026-06-17T00:59:16.1368189Z           "evidence": []
2026-06-17T00:59:16.1368289Z         },
2026-06-17T00:59:16.1368390Z         "unit": {
2026-06-17T00:59:16.1368495Z           "complete": true,
2026-06-17T00:59:16.1368608Z           "evidence": [
2026-06-17T00:59:16.1368705Z             {
2026-06-17T00:59:16.1368851Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1369303Z               "line": 156
2026-06-17T00:59:16.1369404Z             },
2026-06-17T00:59:16.1369502Z             {
2026-06-17T00:59:16.1369644Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1369764Z               "line": 164
2026-06-17T00:59:16.1369868Z             },
2026-06-17T00:59:16.1369973Z             {
2026-06-17T00:59:16.1370117Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1370216Z               "line": 177
2026-06-17T00:59:16.1370317Z             },
2026-06-17T00:59:16.1370521Z             {
2026-06-17T00:59:16.1370661Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1370770Z               "line": 200
2026-06-17T00:59:16.1370875Z             },
2026-06-17T00:59:16.1370976Z             {
2026-06-17T00:59:16.1371119Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1371218Z               "line": 216
2026-06-17T00:59:16.1371319Z             },
2026-06-17T00:59:16.1371422Z             {
2026-06-17T00:59:16.1371562Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T00:59:16.1371663Z               "line": 233
2026-06-17T00:59:16.1371862Z             }
2026-06-17T00:59:16.1371959Z           ]
2026-06-17T00:59:16.1372057Z         }
2026-06-17T00:59:16.1372147Z       }
2026-06-17T00:59:16.1372247Z     },
2026-06-17T00:59:16.1372344Z     {
2026-06-17T00:59:16.1372452Z       "id": "REQ-EP-4",
2026-06-17T00:59:16.1372624Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-17T00:59:16.1372733Z       "requiredStages": [
2026-06-17T00:59:16.1372838Z         "impl",
2026-06-17T00:59:16.1372934Z         "unit"
2026-06-17T00:59:16.1373043Z       ],
2026-06-17T00:59:16.1373143Z       "stages": {
2026-06-17T00:59:16.1373249Z         "doc": {
2026-06-17T00:59:16.1373363Z           "complete": false,
2026-06-17T00:59:16.1373467Z           "evidence": []
2026-06-17T00:59:16.1373560Z         },
2026-06-17T00:59:16.1373663Z         "impl": {
2026-06-17T00:59:16.1373777Z           "complete": true,
2026-06-17T00:59:16.1373879Z           "evidence": [
2026-06-17T00:59:16.1373987Z             {
2026-06-17T00:59:16.1374141Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1374250Z               "line": 717
2026-06-17T00:59:16.1374349Z             },
2026-06-17T00:59:16.1374449Z             {
2026-06-17T00:59:16.1374591Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1374699Z               "line": 1048
2026-06-17T00:59:16.1374799Z             },
2026-06-17T00:59:16.1374905Z             {
2026-06-17T00:59:16.1375042Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1375158Z               "line": 1359
2026-06-17T00:59:16.1375257Z             },
2026-06-17T00:59:16.1375361Z             {
2026-06-17T00:59:16.1375496Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1375600Z               "line": 118
2026-06-17T00:59:16.1375695Z             },
2026-06-17T00:59:16.1375797Z             {
2026-06-17T00:59:16.1375934Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1376039Z               "line": 609
2026-06-17T00:59:16.1376145Z             },
2026-06-17T00:59:16.1376244Z             {
2026-06-17T00:59:16.1376378Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1376478Z               "line": 734
2026-06-17T00:59:16.1376578Z             },
2026-06-17T00:59:16.1376679Z             {
2026-06-17T00:59:16.1376821Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1376936Z               "line": 254
2026-06-17T00:59:16.1377037Z             },
2026-06-17T00:59:16.1377132Z             {
2026-06-17T00:59:16.1377268Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1377374Z               "line": 441
2026-06-17T00:59:16.1377472Z             },
2026-06-17T00:59:16.1377571Z             {
2026-06-17T00:59:16.1377714Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.1377820Z               "line": 1164
2026-06-17T00:59:16.1377919Z             }
2026-06-17T00:59:16.1378020Z           ]
2026-06-17T00:59:16.1378120Z         },
2026-06-17T00:59:16.1378224Z         "int": {
2026-06-17T00:59:16.1378340Z           "complete": false,
2026-06-17T00:59:16.1378444Z           "evidence": []
2026-06-17T00:59:16.1378543Z         },
2026-06-17T00:59:16.1378650Z         "unit": {
2026-06-17T00:59:16.1378754Z           "complete": true,
2026-06-17T00:59:16.1378849Z           "evidence": [
2026-06-17T00:59:16.1379102Z             {
2026-06-17T00:59:16.1379241Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1379351Z               "line": 825
2026-06-17T00:59:16.1379459Z             },
2026-06-17T00:59:16.1379555Z             {
2026-06-17T00:59:16.1379717Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-17T00:59:16.1379821Z               "line": 76
2026-06-17T00:59:16.1379916Z             },
2026-06-17T00:59:16.1380016Z             {
2026-06-17T00:59:16.1380166Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-17T00:59:16.1380267Z               "line": 147
2026-06-17T00:59:16.1380457Z             }
2026-06-17T00:59:16.1380558Z           ]
2026-06-17T00:59:16.1380658Z         }
2026-06-17T00:59:16.1380748Z       }
2026-06-17T00:59:16.1380848Z     },
2026-06-17T00:59:16.1380949Z     {
2026-06-17T00:59:16.1381063Z       "id": "REQ-EP-5",
2026-06-17T00:59:16.1381764Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-17T00:59:16.1381889Z       "requiredStages": [
2026-06-17T00:59:16.1381987Z         "impl",
2026-06-17T00:59:16.1382093Z         "unit",
2026-06-17T00:59:16.1382199Z         "int"
2026-06-17T00:59:16.1382297Z       ],
2026-06-17T00:59:16.1382398Z       "stages": {
2026-06-17T00:59:16.1382490Z         "doc": {
2026-06-17T00:59:16.1382599Z           "complete": false,
2026-06-17T00:59:16.1382707Z           "evidence": []
2026-06-17T00:59:16.1382807Z         },
2026-06-17T00:59:16.1382909Z         "impl": {
2026-06-17T00:59:16.1383017Z           "complete": true,
2026-06-17T00:59:16.1383122Z           "evidence": [
2026-06-17T00:59:16.1383227Z             {
2026-06-17T00:59:16.1383388Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1383485Z               "line": 367
2026-06-17T00:59:16.1383580Z             },
2026-06-17T00:59:16.1383684Z             {
2026-06-17T00:59:16.1383828Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1383942Z               "line": 18
2026-06-17T00:59:16.1384037Z             },
2026-06-17T00:59:16.1384139Z             {
2026-06-17T00:59:16.1384280Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1384382Z               "line": 63
2026-06-17T00:59:16.1384481Z             },
2026-06-17T00:59:16.1384581Z             {
2026-06-17T00:59:16.1384730Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1384829Z               "line": 92
2026-06-17T00:59:16.1384933Z             },
2026-06-17T00:59:16.1385033Z             {
2026-06-17T00:59:16.1385183Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1385283Z               "line": 167
2026-06-17T00:59:16.1385384Z             },
2026-06-17T00:59:16.1385480Z             {
2026-06-17T00:59:16.1385612Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1385723Z               "line": 179
2026-06-17T00:59:16.1385822Z             },
2026-06-17T00:59:16.1385922Z             {
2026-06-17T00:59:16.1386071Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1386170Z               "line": 114
2026-06-17T00:59:16.1386280Z             },
2026-06-17T00:59:16.1386376Z             {
2026-06-17T00:59:16.1386518Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1386614Z               "line": 22
2026-06-17T00:59:16.1386723Z             },
2026-06-17T00:59:16.1386828Z             {
2026-06-17T00:59:16.1386968Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1387076Z               "line": 145
2026-06-17T00:59:16.1387176Z             },
2026-06-17T00:59:16.1387268Z             {
2026-06-17T00:59:16.1387409Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1387510Z               "line": 174
2026-06-17T00:59:16.1387710Z             },
2026-06-17T00:59:16.1387809Z             {
2026-06-17T00:59:16.1387967Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1388069Z               "line": 196
2026-06-17T00:59:16.1388169Z             },
2026-06-17T00:59:16.1388275Z             {
2026-06-17T00:59:16.1388418Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1388522Z               "line": 221
2026-06-17T00:59:16.1388618Z             },
2026-06-17T00:59:16.1388718Z             {
2026-06-17T00:59:16.1388866Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1389132Z               "line": 247
2026-06-17T00:59:16.1389243Z             },
2026-06-17T00:59:16.1389338Z             {
2026-06-17T00:59:16.1389500Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1389601Z               "line": 270
2026-06-17T00:59:16.1389700Z             },
2026-06-17T00:59:16.1389801Z             {
2026-06-17T00:59:16.1389948Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1390067Z               "line": 100
2026-06-17T00:59:16.1390169Z             },
2026-06-17T00:59:16.1390273Z             {
2026-06-17T00:59:16.1390395Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1390514Z               "line": 5740
2026-06-17T00:59:16.1390604Z             },
2026-06-17T00:59:16.1390707Z             {
2026-06-17T00:59:16.1390832Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1390937Z               "line": 5874
2026-06-17T00:59:16.1391031Z             },
2026-06-17T00:59:16.1391133Z             {
2026-06-17T00:59:16.1391262Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1391365Z               "line": 6040
2026-06-17T00:59:16.1391471Z             },
2026-06-17T00:59:16.1391576Z             {
2026-06-17T00:59:16.1391699Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1391810Z               "line": 6568
2026-06-17T00:59:16.1391904Z             }
2026-06-17T00:59:16.1392004Z           ]
2026-06-17T00:59:16.1392096Z         },
2026-06-17T00:59:16.1392200Z         "int": {
2026-06-17T00:59:16.1392309Z           "complete": true,
2026-06-17T00:59:16.1392411Z           "evidence": [
2026-06-17T00:59:16.1392515Z             {
2026-06-17T00:59:16.1392658Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T00:59:16.1392764Z               "line": 16
2026-06-17T00:59:16.1392867Z             },
2026-06-17T00:59:16.1392968Z             {
2026-06-17T00:59:16.1393107Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T00:59:16.1393210Z               "line": 15
2026-06-17T00:59:16.1393319Z             }
2026-06-17T00:59:16.1393421Z           ]
2026-06-17T00:59:16.1393520Z         },
2026-06-17T00:59:16.1393625Z         "unit": {
2026-06-17T00:59:16.1393731Z           "complete": true,
2026-06-17T00:59:16.1393840Z           "evidence": [
2026-06-17T00:59:16.1393934Z             {
2026-06-17T00:59:16.1394088Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1394197Z               "line": 246
2026-06-17T00:59:16.1394297Z             },
2026-06-17T00:59:16.1394398Z             {
2026-06-17T00:59:16.1394540Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1394646Z               "line": 306
2026-06-17T00:59:16.1394745Z             },
2026-06-17T00:59:16.1394840Z             {
2026-06-17T00:59:16.1394975Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T00:59:16.1395088Z               "line": 363
2026-06-17T00:59:16.1395174Z             },
2026-06-17T00:59:16.1395276Z             {
2026-06-17T00:59:16.1395426Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1395535Z               "line": 286
2026-06-17T00:59:16.1395636Z             },
2026-06-17T00:59:16.1395739Z             {
2026-06-17T00:59:16.1395886Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1395987Z               "line": 338
2026-06-17T00:59:16.1396186Z             },
2026-06-17T00:59:16.1396292Z             {
2026-06-17T00:59:16.1396434Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1396554Z               "line": 779
2026-06-17T00:59:16.1396664Z             },
2026-06-17T00:59:16.1396768Z             {
2026-06-17T00:59:16.1396889Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1396993Z               "line": 7975
2026-06-17T00:59:16.1397087Z             },
2026-06-17T00:59:16.1397184Z             {
2026-06-17T00:59:16.1397307Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1397523Z               "line": 8128
2026-06-17T00:59:16.1397626Z             },
2026-06-17T00:59:16.1397731Z             {
2026-06-17T00:59:16.1397857Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1397969Z               "line": 8717
2026-06-17T00:59:16.1398070Z             },
2026-06-17T00:59:16.1398172Z             {
2026-06-17T00:59:16.1398294Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1398412Z               "line": 8833
2026-06-17T00:59:16.1398523Z             }
2026-06-17T00:59:16.1398620Z           ]
2026-06-17T00:59:16.1398724Z         }
2026-06-17T00:59:16.1398825Z       }
2026-06-17T00:59:16.1398926Z     },
2026-06-17T00:59:16.1399106Z     {
2026-06-17T00:59:16.1399216Z       "id": "REQ-EP-6",
2026-06-17T00:59:16.1400753Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-17T00:59:16.1400880Z       "requiredStages": [
2026-06-17T00:59:16.1400984Z         "doc",
2026-06-17T00:59:16.1401084Z         "impl",
2026-06-17T00:59:16.1401192Z         "unit"
2026-06-17T00:59:16.1401291Z       ],
2026-06-17T00:59:16.1401392Z       "stages": {
2026-06-17T00:59:16.1401502Z         "doc": {
2026-06-17T00:59:16.1401606Z           "complete": true,
2026-06-17T00:59:16.1401721Z           "evidence": [
2026-06-17T00:59:16.1401817Z             {
2026-06-17T00:59:16.1401945Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.1402046Z               "line": 215
2026-06-17T00:59:16.1402141Z             }
2026-06-17T00:59:16.1402250Z           ]
2026-06-17T00:59:16.1402346Z         },
2026-06-17T00:59:16.1402450Z         "impl": {
2026-06-17T00:59:16.1402550Z           "complete": true,
2026-06-17T00:59:16.1402661Z           "evidence": [
2026-06-17T00:59:16.1402760Z             {
2026-06-17T00:59:16.1402903Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1403014Z               "line": 166
2026-06-17T00:59:16.1403117Z             }
2026-06-17T00:59:16.1403223Z           ]
2026-06-17T00:59:16.1403314Z         },
2026-06-17T00:59:16.1403423Z         "int": {
2026-06-17T00:59:16.1403538Z           "complete": true,
2026-06-17T00:59:16.1403639Z           "evidence": [
2026-06-17T00:59:16.1403737Z             {
2026-06-17T00:59:16.1403879Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-17T00:59:16.1404000Z               "line": 18
2026-06-17T00:59:16.1404099Z             }
2026-06-17T00:59:16.1404194Z           ]
2026-06-17T00:59:16.1404300Z         },
2026-06-17T00:59:16.1404405Z         "unit": {
2026-06-17T00:59:16.1404509Z           "complete": true,
2026-06-17T00:59:16.1404620Z           "evidence": [
2026-06-17T00:59:16.1404729Z             {
2026-06-17T00:59:16.1404877Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.1404991Z               "line": 552
2026-06-17T00:59:16.1405095Z             },
2026-06-17T00:59:16.1405192Z             {
2026-06-17T00:59:16.1405329Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1405439Z               "line": 627
2026-06-17T00:59:16.1405639Z             }
2026-06-17T00:59:16.1405739Z           ]
2026-06-17T00:59:16.1405841Z         }
2026-06-17T00:59:16.1405945Z       }
2026-06-17T00:59:16.1406044Z     },
2026-06-17T00:59:16.1406144Z     {
2026-06-17T00:59:16.1406244Z       "id": "REQ-EP-7",
2026-06-17T00:59:16.1407977Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-17T00:59:16.1408206Z       "requiredStages": [
2026-06-17T00:59:16.1408291Z         "doc",
2026-06-17T00:59:16.1408402Z         "impl",
2026-06-17T00:59:16.1408506Z         "unit"
2026-06-17T00:59:16.1408611Z       ],
2026-06-17T00:59:16.1408713Z       "stages": {
2026-06-17T00:59:16.1408821Z         "doc": {
2026-06-17T00:59:16.1408935Z           "complete": true,
2026-06-17T00:59:16.1409125Z           "evidence": [
2026-06-17T00:59:16.1409223Z             {
2026-06-17T00:59:16.1409342Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.1409467Z               "line": 442
2026-06-17T00:59:16.1409571Z             }
2026-06-17T00:59:16.1409671Z           ]
2026-06-17T00:59:16.1409772Z         },
2026-06-17T00:59:16.1409866Z         "impl": {
2026-06-17T00:59:16.1409986Z           "complete": true,
2026-06-17T00:59:16.1410101Z           "evidence": [
2026-06-17T00:59:16.1410210Z             {
2026-06-17T00:59:16.1410345Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.1410453Z               "line": 505
2026-06-17T00:59:16.1410558Z             },
2026-06-17T00:59:16.1410660Z             {
2026-06-17T00:59:16.1410806Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.1410906Z               "line": 87
2026-06-17T00:59:16.1411012Z             },
2026-06-17T00:59:16.1411116Z             {
2026-06-17T00:59:16.1411274Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1411383Z               "line": 81
2026-06-17T00:59:16.1411482Z             },
2026-06-17T00:59:16.1411591Z             {
2026-06-17T00:59:16.1411742Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1411846Z               "line": 166
2026-06-17T00:59:16.1411952Z             },
2026-06-17T00:59:16.1412057Z             {
2026-06-17T00:59:16.1412190Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1412301Z               "line": 1501
2026-06-17T00:59:16.1412405Z             }
2026-06-17T00:59:16.1412505Z           ]
2026-06-17T00:59:16.1412610Z         },
2026-06-17T00:59:16.1412715Z         "int": {
2026-06-17T00:59:16.1412834Z           "complete": false,
2026-06-17T00:59:16.1412939Z           "evidence": []
2026-06-17T00:59:16.1413039Z         },
2026-06-17T00:59:16.1413144Z         "unit": {
2026-06-17T00:59:16.1413254Z           "complete": true,
2026-06-17T00:59:16.1413373Z           "evidence": [
2026-06-17T00:59:16.1413478Z             {
2026-06-17T00:59:16.1413621Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.1413726Z               "line": 623
2026-06-17T00:59:16.1413817Z             },
2026-06-17T00:59:16.1413922Z             {
2026-06-17T00:59:16.1414060Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.1414185Z               "line": 212
2026-06-17T00:59:16.1414283Z             },
2026-06-17T00:59:16.1414382Z             {
2026-06-17T00:59:16.1414526Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.1414626Z               "line": 307
2026-06-17T00:59:16.1414730Z             },
2026-06-17T00:59:16.1414831Z             {
2026-06-17T00:59:16.1414960Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1415189Z               "line": 7055
2026-06-17T00:59:16.1415289Z             },
2026-06-17T00:59:16.1415389Z             {
2026-06-17T00:59:16.1415513Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1415627Z               "line": 7082
2026-06-17T00:59:16.1415727Z             }
2026-06-17T00:59:16.1415833Z           ]
2026-06-17T00:59:16.1415928Z         }
2026-06-17T00:59:16.1416028Z       }
2026-06-17T00:59:16.1416129Z     },
2026-06-17T00:59:16.1416228Z     {
2026-06-17T00:59:16.1416348Z       "id": "REQ-FRONT-1",
2026-06-17T00:59:16.1416556Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-17T00:59:16.1416770Z       "requiredStages": [],
2026-06-17T00:59:16.1416878Z       "stages": {
2026-06-17T00:59:16.1416973Z         "doc": {
2026-06-17T00:59:16.1417088Z           "complete": false,
2026-06-17T00:59:16.1417188Z           "evidence": []
2026-06-17T00:59:16.1417292Z         },
2026-06-17T00:59:16.1417398Z         "impl": {
2026-06-17T00:59:16.1417517Z           "complete": false,
2026-06-17T00:59:16.1417626Z           "evidence": []
2026-06-17T00:59:16.1417728Z         },
2026-06-17T00:59:16.1417832Z         "int": {
2026-06-17T00:59:16.1417941Z           "complete": false,
2026-06-17T00:59:16.1418061Z           "evidence": []
2026-06-17T00:59:16.1418161Z         },
2026-06-17T00:59:16.1418261Z         "unit": {
2026-06-17T00:59:16.1418371Z           "complete": false,
2026-06-17T00:59:16.1418476Z           "evidence": []
2026-06-17T00:59:16.1418580Z         }
2026-06-17T00:59:16.1418681Z       }
2026-06-17T00:59:16.1418789Z     },
2026-06-17T00:59:16.1418890Z     {
2026-06-17T00:59:16.1419104Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-17T00:59:16.1421671Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-17T00:59:16.1421806Z       "requiredStages": [
2026-06-17T00:59:16.1421911Z         "doc",
2026-06-17T00:59:16.1422005Z         "impl",
2026-06-17T00:59:16.1422108Z         "unit",
2026-06-17T00:59:16.1422214Z         "int"
2026-06-17T00:59:16.1422312Z       ],
2026-06-17T00:59:16.1422411Z       "stages": {
2026-06-17T00:59:16.1422512Z         "doc": {
2026-06-17T00:59:16.1422622Z           "complete": true,
2026-06-17T00:59:16.1422735Z           "evidence": [
2026-06-17T00:59:16.1422837Z             {
2026-06-17T00:59:16.1422979Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1423084Z               "line": 326
2026-06-17T00:59:16.1423189Z             }
2026-06-17T00:59:16.1423294Z           ]
2026-06-17T00:59:16.1423394Z         },
2026-06-17T00:59:16.1423490Z         "impl": {
2026-06-17T00:59:16.1423599Z           "complete": true,
2026-06-17T00:59:16.1423709Z           "evidence": [
2026-06-17T00:59:16.1423814Z             {
2026-06-17T00:59:16.1423957Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1424072Z               "line": 494
2026-06-17T00:59:16.1424176Z             },
2026-06-17T00:59:16.1424281Z             {
2026-06-17T00:59:16.1424416Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1424528Z               "line": 499
2026-06-17T00:59:16.1424634Z             },
2026-06-17T00:59:16.1424731Z             {
2026-06-17T00:59:16.1424976Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1425077Z               "line": 874
2026-06-17T00:59:16.1425177Z             },
2026-06-17T00:59:16.1425276Z             {
2026-06-17T00:59:16.1425425Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1425539Z               "line": 915
2026-06-17T00:59:16.1425634Z             },
2026-06-17T00:59:16.1425740Z             {
2026-06-17T00:59:16.1425882Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1425987Z               "line": 926
2026-06-17T00:59:16.1426187Z             },
2026-06-17T00:59:16.1426292Z             {
2026-06-17T00:59:16.1426445Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.1426550Z               "line": 358
2026-06-17T00:59:16.1426656Z             }
2026-06-17T00:59:16.1426750Z           ]
2026-06-17T00:59:16.1426855Z         },
2026-06-17T00:59:16.1426956Z         "int": {
2026-06-17T00:59:16.1427074Z           "complete": true,
2026-06-17T00:59:16.1427173Z           "evidence": [
2026-06-17T00:59:16.1427273Z             {
2026-06-17T00:59:16.1427438Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-17T00:59:16.1427543Z               "line": 30
2026-06-17T00:59:16.1427643Z             }
2026-06-17T00:59:16.1427748Z           ]
2026-06-17T00:59:16.1427848Z         },
2026-06-17T00:59:16.1427958Z         "unit": {
2026-06-17T00:59:16.1428063Z           "complete": true,
2026-06-17T00:59:16.1428172Z           "evidence": [
2026-06-17T00:59:16.1428273Z             {
2026-06-17T00:59:16.1428420Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1428530Z               "line": 1467
2026-06-17T00:59:16.1428631Z             },
2026-06-17T00:59:16.1428735Z             {
2026-06-17T00:59:16.1428884Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1429069Z               "line": 1492
2026-06-17T00:59:16.1429174Z             },
2026-06-17T00:59:16.1429279Z             {
2026-06-17T00:59:16.1429440Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1429542Z               "line": 1509
2026-06-17T00:59:16.1429646Z             },
2026-06-17T00:59:16.1429746Z             {
2026-06-17T00:59:16.1429885Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1429993Z               "line": 1552
2026-06-17T00:59:16.1430093Z             }
2026-06-17T00:59:16.1430193Z           ]
2026-06-17T00:59:16.1430296Z         }
2026-06-17T00:59:16.1430395Z       }
2026-06-17T00:59:16.1430491Z     },
2026-06-17T00:59:16.1430592Z     {
2026-06-17T00:59:16.1430734Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-17T00:59:16.1433425Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-17T00:59:16.1433534Z       "requiredStages": [
2026-06-17T00:59:16.1433644Z         "doc",
2026-06-17T00:59:16.1433745Z         "impl",
2026-06-17T00:59:16.1433840Z         "unit",
2026-06-17T00:59:16.1433940Z         "int"
2026-06-17T00:59:16.1437472Z       ],
2026-06-17T00:59:16.1437606Z       "stages": {
2026-06-17T00:59:16.1437705Z         "doc": {
2026-06-17T00:59:16.1437824Z           "complete": true,
2026-06-17T00:59:16.1438218Z           "evidence": [
2026-06-17T00:59:16.1438318Z             {
2026-06-17T00:59:16.1438465Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1438571Z               "line": 295
2026-06-17T00:59:16.1438675Z             }
2026-06-17T00:59:16.1438775Z           ]
2026-06-17T00:59:16.1438881Z         },
2026-06-17T00:59:16.1439076Z         "impl": {
2026-06-17T00:59:16.1439191Z           "complete": true,
2026-06-17T00:59:16.1439300Z           "evidence": [
2026-06-17T00:59:16.1439400Z             {
2026-06-17T00:59:16.1439562Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.1439778Z               "line": 108
2026-06-17T00:59:16.1439877Z             },
2026-06-17T00:59:16.1439977Z             {
2026-06-17T00:59:16.1440121Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1440229Z               "line": 794
2026-06-17T00:59:16.1440325Z             },
2026-06-17T00:59:16.1440431Z             {
2026-06-17T00:59:16.1440577Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1440686Z               "line": 994
2026-06-17T00:59:16.1440782Z             },
2026-06-17T00:59:16.1440885Z             {
2026-06-17T00:59:16.1441032Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1441137Z               "line": 23
2026-06-17T00:59:16.1441242Z             },
2026-06-17T00:59:16.1441342Z             {
2026-06-17T00:59:16.1441491Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1441594Z               "line": 113
2026-06-17T00:59:16.1441700Z             },
2026-06-17T00:59:16.1441805Z             {
2026-06-17T00:59:16.1441952Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1442058Z               "line": 158
2026-06-17T00:59:16.1442158Z             },
2026-06-17T00:59:16.1442267Z             {
2026-06-17T00:59:16.1442411Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1442529Z               "line": 218
2026-06-17T00:59:16.1442636Z             },
2026-06-17T00:59:16.1442735Z             {
2026-06-17T00:59:16.1442887Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1442984Z               "line": 261
2026-06-17T00:59:16.1443087Z             },
2026-06-17T00:59:16.1443187Z             {
2026-06-17T00:59:16.1443334Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1443442Z               "line": 275
2026-06-17T00:59:16.1443541Z             },
2026-06-17T00:59:16.1443628Z             {
2026-06-17T00:59:16.1443770Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1443885Z               "line": 320
2026-06-17T00:59:16.1443986Z             },
2026-06-17T00:59:16.1444085Z             {
2026-06-17T00:59:16.1444229Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1444338Z               "line": 347
2026-06-17T00:59:16.1444437Z             },
2026-06-17T00:59:16.1444539Z             {
2026-06-17T00:59:16.1444691Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1444791Z               "line": 359
2026-06-17T00:59:16.1444882Z             },
2026-06-17T00:59:16.1444977Z             {
2026-06-17T00:59:16.1445115Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1445221Z               "line": 373
2026-06-17T00:59:16.1445320Z             },
2026-06-17T00:59:16.1445420Z             {
2026-06-17T00:59:16.1445560Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1445663Z               "line": 400
2026-06-17T00:59:16.1445774Z             },
2026-06-17T00:59:16.1445875Z             {
2026-06-17T00:59:16.1446020Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1446135Z               "line": 643
2026-06-17T00:59:16.1446240Z             },
2026-06-17T00:59:16.1446335Z             {
2026-06-17T00:59:16.1446483Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1446683Z               "line": 972
2026-06-17T00:59:16.1446769Z             },
2026-06-17T00:59:16.1446874Z             {
2026-06-17T00:59:16.1447016Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1447132Z               "line": 178
2026-06-17T00:59:16.1447232Z             },
2026-06-17T00:59:16.1447336Z             {
2026-06-17T00:59:16.1447476Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1447589Z               "line": 590
2026-06-17T00:59:16.1447689Z             },
2026-06-17T00:59:16.1447791Z             {
2026-06-17T00:59:16.1447932Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1448110Z               "line": 662
2026-06-17T00:59:16.1448213Z             },
2026-06-17T00:59:16.1448317Z             {
2026-06-17T00:59:16.1448446Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1448549Z               "line": 674
2026-06-17T00:59:16.1448653Z             },
2026-06-17T00:59:16.1448754Z             {
2026-06-17T00:59:16.1448892Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1449083Z               "line": 1084
2026-06-17T00:59:16.1449192Z             },
2026-06-17T00:59:16.1449282Z             {
2026-06-17T00:59:16.1449422Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1449521Z               "line": 183
2026-06-17T00:59:16.1449626Z             },
2026-06-17T00:59:16.1449727Z             {
2026-06-17T00:59:16.1449874Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1449975Z               "line": 260
2026-06-17T00:59:16.1450075Z             },
2026-06-17T00:59:16.1450179Z             {
2026-06-17T00:59:16.1450319Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1450423Z               "line": 271
2026-06-17T00:59:16.1450528Z             },
2026-06-17T00:59:16.1450629Z             {
2026-06-17T00:59:16.1450770Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1450876Z               "line": 297
2026-06-17T00:59:16.1450978Z             },
2026-06-17T00:59:16.1451076Z             {
2026-06-17T00:59:16.1451218Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1451318Z               "line": 56
2026-06-17T00:59:16.1451421Z             },
2026-06-17T00:59:16.1451525Z             {
2026-06-17T00:59:16.1451665Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1451774Z               "line": 188
2026-06-17T00:59:16.1451874Z             },
2026-06-17T00:59:16.1451970Z             {
2026-06-17T00:59:16.1452117Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T00:59:16.1452222Z               "line": 82
2026-06-17T00:59:16.1452327Z             },
2026-06-17T00:59:16.1452427Z             {
2026-06-17T00:59:16.1452571Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1452680Z               "line": 283
2026-06-17T00:59:16.1452779Z             },
2026-06-17T00:59:16.1452886Z             {
2026-06-17T00:59:16.1453022Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.1453132Z               "line": 424
2026-06-17T00:59:16.1453233Z             },
2026-06-17T00:59:16.1453337Z             {
2026-06-17T00:59:16.1453467Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1453572Z               "line": 1812
2026-06-17T00:59:16.1453671Z             }
2026-06-17T00:59:16.1453775Z           ]
2026-06-17T00:59:16.1453880Z         },
2026-06-17T00:59:16.1453979Z         "int": {
2026-06-17T00:59:16.1454097Z           "complete": true,
2026-06-17T00:59:16.1454202Z           "evidence": [
2026-06-17T00:59:16.1454303Z             {
2026-06-17T00:59:16.1454454Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T00:59:16.1454546Z               "line": 57
2026-06-17T00:59:16.1454651Z             },
2026-06-17T00:59:16.1454750Z             {
2026-06-17T00:59:16.1454894Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-17T00:59:16.1455094Z               "line": 41
2026-06-17T00:59:16.1455199Z             }
2026-06-17T00:59:16.1455299Z           ]
2026-06-17T00:59:16.1455399Z         },
2026-06-17T00:59:16.1455505Z         "unit": {
2026-06-17T00:59:16.1455600Z           "complete": true,
2026-06-17T00:59:16.1455704Z           "evidence": [
2026-06-17T00:59:16.1455800Z             {
2026-06-17T00:59:16.1455957Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.1456068Z               "line": 532
2026-06-17T00:59:16.1456167Z             },
2026-06-17T00:59:16.1456267Z             {
2026-06-17T00:59:16.1456411Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.1456604Z               "line": 755
2026-06-17T00:59:16.1456709Z             },
2026-06-17T00:59:16.1456810Z             {
2026-06-17T00:59:16.1456952Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1457052Z               "line": 1041
2026-06-17T00:59:16.1457158Z             },
2026-06-17T00:59:16.1457262Z             {
2026-06-17T00:59:16.1457402Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1457515Z               "line": 1075
2026-06-17T00:59:16.1457615Z             },
2026-06-17T00:59:16.1457711Z             {
2026-06-17T00:59:16.1457853Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1457968Z               "line": 1117
2026-06-17T00:59:16.1458069Z             },
2026-06-17T00:59:16.1458168Z             {
2026-06-17T00:59:16.1458312Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1458412Z               "line": 1189
2026-06-17T00:59:16.1458516Z             },
2026-06-17T00:59:16.1458612Z             {
2026-06-17T00:59:16.1458759Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1458854Z               "line": 1202
2026-06-17T00:59:16.1459044Z             },
2026-06-17T00:59:16.1459142Z             {
2026-06-17T00:59:16.1459280Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1459410Z               "line": 1225
2026-06-17T00:59:16.1459509Z             },
2026-06-17T00:59:16.1459615Z             {
2026-06-17T00:59:16.1459757Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1459866Z               "line": 1251
2026-06-17T00:59:16.1459963Z             },
2026-06-17T00:59:16.1460063Z             {
2026-06-17T00:59:16.1460206Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1460315Z               "line": 1265
2026-06-17T00:59:16.1460415Z             },
2026-06-17T00:59:16.1460506Z             {
2026-06-17T00:59:16.1460658Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1460763Z               "line": 1289
2026-06-17T00:59:16.1460864Z             },
2026-06-17T00:59:16.1460969Z             {
2026-06-17T00:59:16.1461107Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1461213Z               "line": 1421
2026-06-17T00:59:16.1461312Z             },
2026-06-17T00:59:16.1461417Z             {
2026-06-17T00:59:16.1461561Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1461664Z               "line": 1597
2026-06-17T00:59:16.1461763Z             },
2026-06-17T00:59:16.1461864Z             {
2026-06-17T00:59:16.1462010Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1462119Z               "line": 1652
2026-06-17T00:59:16.1462225Z             },
2026-06-17T00:59:16.1462324Z             {
2026-06-17T00:59:16.1462467Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1462582Z               "line": 1698
2026-06-17T00:59:16.1462672Z             },
2026-06-17T00:59:16.1462772Z             {
2026-06-17T00:59:16.1462916Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1463020Z               "line": 1743
2026-06-17T00:59:16.1463131Z             },
2026-06-17T00:59:16.1463225Z             {
2026-06-17T00:59:16.1463469Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1463578Z               "line": 1787
2026-06-17T00:59:16.1463678Z             },
2026-06-17T00:59:16.1463780Z             {
2026-06-17T00:59:16.1463921Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1464027Z               "line": 1829
2026-06-17T00:59:16.1464128Z             },
2026-06-17T00:59:16.1464231Z             {
2026-06-17T00:59:16.1464368Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1464469Z               "line": 1418
2026-06-17T00:59:16.1464567Z             },
2026-06-17T00:59:16.1464762Z             {
2026-06-17T00:59:16.1464919Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1465024Z               "line": 217
2026-06-17T00:59:16.1465125Z             },
2026-06-17T00:59:16.1465225Z             {
2026-06-17T00:59:16.1465368Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1465487Z               "line": 233
2026-06-17T00:59:16.1465596Z             },
2026-06-17T00:59:16.1465697Z             {
2026-06-17T00:59:16.1465830Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1465930Z               "line": 254
2026-06-17T00:59:16.1466031Z             },
2026-06-17T00:59:16.1466135Z             {
2026-06-17T00:59:16.1466269Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1466370Z               "line": 265
2026-06-17T00:59:16.1466464Z             },
2026-06-17T00:59:16.1466555Z             {
2026-06-17T00:59:16.1466699Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1466802Z               "line": 278
2026-06-17T00:59:16.1466904Z             },
2026-06-17T00:59:16.1467009Z             {
2026-06-17T00:59:16.1467150Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1467255Z               "line": 289
2026-06-17T00:59:16.1467355Z             },
2026-06-17T00:59:16.1467455Z             {
2026-06-17T00:59:16.1467599Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1467708Z               "line": 301
2026-06-17T00:59:16.1467812Z             },
2026-06-17T00:59:16.1467909Z             {
2026-06-17T00:59:16.1468047Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1468151Z               "line": 312
2026-06-17T00:59:16.1468257Z             },
2026-06-17T00:59:16.1468356Z             {
2026-06-17T00:59:16.1468490Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1468596Z               "line": 323
2026-06-17T00:59:16.1468695Z             },
2026-06-17T00:59:16.1468800Z             {
2026-06-17T00:59:16.1468935Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1469119Z               "line": 332
2026-06-17T00:59:16.1469221Z             },
2026-06-17T00:59:16.1469319Z             {
2026-06-17T00:59:16.1469480Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1469581Z               "line": 342
2026-06-17T00:59:16.1469683Z             },
2026-06-17T00:59:16.1469783Z             {
2026-06-17T00:59:16.1469927Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T00:59:16.1470031Z               "line": 358
2026-06-17T00:59:16.1470132Z             },
2026-06-17T00:59:16.1470232Z             {
2026-06-17T00:59:16.1470365Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1470475Z               "line": 733
2026-06-17T00:59:16.1470570Z             },
2026-06-17T00:59:16.1470675Z             {
2026-06-17T00:59:16.1470814Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1470928Z               "line": 769
2026-06-17T00:59:16.1471028Z             },
2026-06-17T00:59:16.1471124Z             {
2026-06-17T00:59:16.1471267Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.1471371Z               "line": 966
2026-06-17T00:59:16.1471478Z             },
2026-06-17T00:59:16.1471700Z             {
2026-06-17T00:59:16.1471839Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T00:59:16.1471939Z               "line": 143
2026-06-17T00:59:16.1472040Z             },
2026-06-17T00:59:16.1472140Z             {
2026-06-17T00:59:16.1472281Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T00:59:16.1472386Z               "line": 222
2026-06-17T00:59:16.1472490Z             },
2026-06-17T00:59:16.1472589Z             {
2026-06-17T00:59:16.1472732Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T00:59:16.1472837Z               "line": 291
2026-06-17T00:59:16.1473037Z             },
2026-06-17T00:59:16.1473137Z             {
2026-06-17T00:59:16.1473284Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-17T00:59:16.1473395Z               "line": 17
2026-06-17T00:59:16.1473495Z             },
2026-06-17T00:59:16.1473599Z             {
2026-06-17T00:59:16.1473733Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-17T00:59:16.1473843Z               "line": 104
2026-06-17T00:59:16.1473943Z             }
2026-06-17T00:59:16.1474034Z           ]
2026-06-17T00:59:16.1474138Z         }
2026-06-17T00:59:16.1474229Z       }
2026-06-17T00:59:16.1474321Z     },
2026-06-17T00:59:16.1474415Z     {
2026-06-17T00:59:16.1474544Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-17T00:59:16.1474749Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-17T00:59:16.1474867Z       "requiredStages": [
2026-06-17T00:59:16.1474967Z         "impl",
2026-06-17T00:59:16.1475071Z         "unit"
2026-06-17T00:59:16.1475174Z       ],
2026-06-17T00:59:16.1475275Z       "stages": {
2026-06-17T00:59:16.1475385Z         "doc": {
2026-06-17T00:59:16.1475489Z           "complete": false,
2026-06-17T00:59:16.1475604Z           "evidence": []
2026-06-17T00:59:16.1475709Z         },
2026-06-17T00:59:16.1475813Z         "impl": {
2026-06-17T00:59:16.1475929Z           "complete": true,
2026-06-17T00:59:16.1476042Z           "evidence": [
2026-06-17T00:59:16.1476142Z             {
2026-06-17T00:59:16.1476286Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1476390Z               "line": 168
2026-06-17T00:59:16.1476495Z             },
2026-06-17T00:59:16.1476591Z             {
2026-06-17T00:59:16.1476734Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.1476839Z               "line": 18
2026-06-17T00:59:16.1476940Z             },
2026-06-17T00:59:16.1477038Z             {
2026-06-17T00:59:16.1477168Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.1477292Z               "line": 100
2026-06-17T00:59:16.1477392Z             }
2026-06-17T00:59:16.1477498Z           ]
2026-06-17T00:59:16.1477598Z         },
2026-06-17T00:59:16.1477701Z         "int": {
2026-06-17T00:59:16.1477820Z           "complete": false,
2026-06-17T00:59:16.1477921Z           "evidence": []
2026-06-17T00:59:16.1478025Z         },
2026-06-17T00:59:16.1478124Z         "unit": {
2026-06-17T00:59:16.1478245Z           "complete": true,
2026-06-17T00:59:16.1478344Z           "evidence": [
2026-06-17T00:59:16.1478449Z             {
2026-06-17T00:59:16.1478597Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1478692Z               "line": 853
2026-06-17T00:59:16.1478798Z             },
2026-06-17T00:59:16.1478898Z             {
2026-06-17T00:59:16.1479151Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.1479255Z               "line": 161
2026-06-17T00:59:16.1479350Z             },
2026-06-17T00:59:16.1479461Z             {
2026-06-17T00:59:16.1479598Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.1479704Z               "line": 233
2026-06-17T00:59:16.1479810Z             }
2026-06-17T00:59:16.1479912Z           ]
2026-06-17T00:59:16.1480012Z         }
2026-06-17T00:59:16.1480117Z       }
2026-06-17T00:59:16.1480220Z     },
2026-06-17T00:59:16.1480320Z     {
2026-06-17T00:59:16.1480459Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-17T00:59:16.1481031Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-17T00:59:16.1481150Z       "requiredStages": [
2026-06-17T00:59:16.1481254Z         "impl",
2026-06-17T00:59:16.1481355Z         "unit"
2026-06-17T00:59:16.1481459Z       ],
2026-06-17T00:59:16.1481559Z       "stages": {
2026-06-17T00:59:16.1481660Z         "doc": {
2026-06-17T00:59:16.1481765Z           "complete": true,
2026-06-17T00:59:16.1481869Z           "evidence": [
2026-06-17T00:59:16.1482071Z             {
2026-06-17T00:59:16.1482203Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1482314Z               "line": 220
2026-06-17T00:59:16.1482413Z             }
2026-06-17T00:59:16.1482508Z           ]
2026-06-17T00:59:16.1482610Z         },
2026-06-17T00:59:16.1482705Z         "impl": {
2026-06-17T00:59:16.1482813Z           "complete": true,
2026-06-17T00:59:16.1482922Z           "evidence": [
2026-06-17T00:59:16.1483018Z             {
2026-06-17T00:59:16.1483177Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.1483292Z               "line": 312
2026-06-17T00:59:16.1483393Z             },
2026-06-17T00:59:16.1483497Z             {
2026-06-17T00:59:16.1483641Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1483754Z               "line": 331
2026-06-17T00:59:16.1483854Z             },
2026-06-17T00:59:16.1483951Z             {
2026-06-17T00:59:16.1484093Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1484203Z               "line": 536
2026-06-17T00:59:16.1484303Z             },
2026-06-17T00:59:16.1484403Z             {
2026-06-17T00:59:16.1484546Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1484656Z               "line": 77
2026-06-17T00:59:16.1484755Z             }
2026-06-17T00:59:16.1484861Z           ]
2026-06-17T00:59:16.1484966Z         },
2026-06-17T00:59:16.1485070Z         "int": {
2026-06-17T00:59:16.1485181Z           "complete": false,
2026-06-17T00:59:16.1485295Z           "evidence": []
2026-06-17T00:59:16.1485394Z         },
2026-06-17T00:59:16.1485494Z         "unit": {
2026-06-17T00:59:16.1485603Z           "complete": true,
2026-06-17T00:59:16.1485706Z           "evidence": [
2026-06-17T00:59:16.1485811Z             {
2026-06-17T00:59:16.1485950Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1486068Z               "line": 705
2026-06-17T00:59:16.1486164Z             },
2026-06-17T00:59:16.1486269Z             {
2026-06-17T00:59:16.1486416Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1486522Z               "line": 743
2026-06-17T00:59:16.1486622Z             },
2026-06-17T00:59:16.1486726Z             {
2026-06-17T00:59:16.1486870Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1486975Z               "line": 166
2026-06-17T00:59:16.1487070Z             }
2026-06-17T00:59:16.1487175Z           ]
2026-06-17T00:59:16.1487270Z         }
2026-06-17T00:59:16.1487370Z       }
2026-06-17T00:59:16.1487471Z     },
2026-06-17T00:59:16.1487570Z     {
2026-06-17T00:59:16.1487714Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-17T00:59:16.1488294Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-17T00:59:16.1488409Z       "requiredStages": [
2026-06-17T00:59:16.1488515Z         "impl",
2026-06-17T00:59:16.1488613Z         "unit"
2026-06-17T00:59:16.1488709Z       ],
2026-06-17T00:59:16.1488810Z       "stages": {
2026-06-17T00:59:16.1488914Z         "doc": {
2026-06-17T00:59:16.1489106Z           "complete": false,
2026-06-17T00:59:16.1489210Z           "evidence": []
2026-06-17T00:59:16.1489310Z         },
2026-06-17T00:59:16.1489415Z         "impl": {
2026-06-17T00:59:16.1489644Z           "complete": true,
2026-06-17T00:59:16.1489749Z           "evidence": [
2026-06-17T00:59:16.1489854Z             {
2026-06-17T00:59:16.1489993Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T00:59:16.1490107Z               "line": 22
2026-06-17T00:59:16.1490206Z             },
2026-06-17T00:59:16.1490307Z             {
2026-06-17T00:59:16.1490449Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.1490558Z               "line": 487
2026-06-17T00:59:16.1490653Z             },
2026-06-17T00:59:16.1490757Z             {
2026-06-17T00:59:16.1490999Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T00:59:16.1491096Z               "line": 17
2026-06-17T00:59:16.1491194Z             },
2026-06-17T00:59:16.1491290Z             {
2026-06-17T00:59:16.1491433Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T00:59:16.1491538Z               "line": 147
2026-06-17T00:59:16.1491639Z             },
2026-06-17T00:59:16.1491748Z             {
2026-06-17T00:59:16.1491901Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1492006Z               "line": 226
2026-06-17T00:59:16.1492110Z             },
2026-06-17T00:59:16.1492210Z             {
2026-06-17T00:59:16.1492362Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1492463Z               "line": 251
2026-06-17T00:59:16.1492569Z             },
2026-06-17T00:59:16.1492664Z             {
2026-06-17T00:59:16.1492816Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1492936Z               "line": 277
2026-06-17T00:59:16.1493034Z             },
2026-06-17T00:59:16.1493141Z             {
2026-06-17T00:59:16.1493289Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.1493401Z               "line": 124
2026-06-17T00:59:16.1493506Z             },
2026-06-17T00:59:16.1493606Z             {
2026-06-17T00:59:16.1493756Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.1493862Z               "line": 224
2026-06-17T00:59:16.1493963Z             }
2026-06-17T00:59:16.1494047Z           ]
2026-06-17T00:59:16.1494148Z         },
2026-06-17T00:59:16.1494253Z         "int": {
2026-06-17T00:59:16.1494366Z           "complete": false,
2026-06-17T00:59:16.1494487Z           "evidence": []
2026-06-17T00:59:16.1494586Z         },
2026-06-17T00:59:16.1494691Z         "unit": {
2026-06-17T00:59:16.1494801Z           "complete": true,
2026-06-17T00:59:16.1494905Z           "evidence": [
2026-06-17T00:59:16.1495010Z             {
2026-06-17T00:59:16.1495160Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T00:59:16.1495268Z               "line": 63
2026-06-17T00:59:16.1495364Z             },
2026-06-17T00:59:16.1495465Z             {
2026-06-17T00:59:16.1495611Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T00:59:16.1495717Z               "line": 73
2026-06-17T00:59:16.1495822Z             },
2026-06-17T00:59:16.1495921Z             {
2026-06-17T00:59:16.1496073Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T00:59:16.1496172Z               "line": 85
2026-06-17T00:59:16.1496276Z             },
2026-06-17T00:59:16.1496376Z             {
2026-06-17T00:59:16.1496524Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.1496628Z               "line": 346
2026-06-17T00:59:16.1496724Z             },
2026-06-17T00:59:16.1496829Z             {
2026-06-17T00:59:16.1496966Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T00:59:16.1497082Z               "line": 281
2026-06-17T00:59:16.1497182Z             },
2026-06-17T00:59:16.1497277Z             {
2026-06-17T00:59:16.1497425Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T00:59:16.1497525Z               "line": 322
2026-06-17T00:59:16.1497630Z             },
2026-06-17T00:59:16.1497731Z             {
2026-06-17T00:59:16.1497873Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T00:59:16.1498055Z               "line": 360
2026-06-17T00:59:16.1498159Z             },
2026-06-17T00:59:16.1498259Z             {
2026-06-17T00:59:16.1498407Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1498517Z               "line": 688
2026-06-17T00:59:16.1498608Z             },
2026-06-17T00:59:16.1498708Z             {
2026-06-17T00:59:16.1498849Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.1499036Z               "line": 397
2026-06-17T00:59:16.1499141Z             },
2026-06-17T00:59:16.1499375Z             {
2026-06-17T00:59:16.1499535Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.1499637Z               "line": 440
2026-06-17T00:59:16.1499742Z             }
2026-06-17T00:59:16.1499836Z           ]
2026-06-17T00:59:16.1499928Z         }
2026-06-17T00:59:16.1500033Z       }
2026-06-17T00:59:16.1500122Z     },
2026-06-17T00:59:16.1500228Z     {
2026-06-17T00:59:16.1500371Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-17T00:59:16.1500610Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-17T00:59:16.1500718Z       "requiredStages": [
2026-06-17T00:59:16.1500829Z         "impl",
2026-06-17T00:59:16.1500925Z         "unit"
2026-06-17T00:59:16.1501024Z       ],
2026-06-17T00:59:16.1501128Z       "stages": {
2026-06-17T00:59:16.1501223Z         "doc": {
2026-06-17T00:59:16.1501331Z           "complete": false,
2026-06-17T00:59:16.1501435Z           "evidence": []
2026-06-17T00:59:16.1501545Z         },
2026-06-17T00:59:16.1501646Z         "impl": {
2026-06-17T00:59:16.1501749Z           "complete": true,
2026-06-17T00:59:16.1501855Z           "evidence": [
2026-06-17T00:59:16.1501955Z             {
2026-06-17T00:59:16.1502102Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T00:59:16.1502209Z               "line": 169
2026-06-17T00:59:16.1502313Z             }
2026-06-17T00:59:16.1502412Z           ]
2026-06-17T00:59:16.1502509Z         },
2026-06-17T00:59:16.1502613Z         "int": {
2026-06-17T00:59:16.1502722Z           "complete": true,
2026-06-17T00:59:16.1502833Z           "evidence": [
2026-06-17T00:59:16.1502932Z             {
2026-06-17T00:59:16.1503076Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-17T00:59:16.1503177Z               "line": 44
2026-06-17T00:59:16.1503280Z             },
2026-06-17T00:59:16.1503371Z             {
2026-06-17T00:59:16.1503511Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-17T00:59:16.1503614Z               "line": 66
2026-06-17T00:59:16.1503706Z             }
2026-06-17T00:59:16.1503802Z           ]
2026-06-17T00:59:16.1503905Z         },
2026-06-17T00:59:16.1504004Z         "unit": {
2026-06-17T00:59:16.1504119Z           "complete": true,
2026-06-17T00:59:16.1504217Z           "evidence": [
2026-06-17T00:59:16.1504326Z             {
2026-06-17T00:59:16.1504451Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T00:59:16.1504556Z               "line": 186
2026-06-17T00:59:16.1504660Z             },
2026-06-17T00:59:16.1504761Z             {
2026-06-17T00:59:16.1504894Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T00:59:16.1504998Z               "line": 238
2026-06-17T00:59:16.1505100Z             },
2026-06-17T00:59:16.1505204Z             {
2026-06-17T00:59:16.1505337Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T00:59:16.1505452Z               "line": 266
2026-06-17T00:59:16.1505547Z             }
2026-06-17T00:59:16.1505637Z           ]
2026-06-17T00:59:16.1505739Z         }
2026-06-17T00:59:16.1505842Z       }
2026-06-17T00:59:16.1505943Z     },
2026-06-17T00:59:16.1506049Z     {
2026-06-17T00:59:16.1506195Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-17T00:59:16.1506652Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-17T00:59:16.1506874Z       "requiredStages": [
2026-06-17T00:59:16.1506969Z         "impl",
2026-06-17T00:59:16.1507071Z         "unit",
2026-06-17T00:59:16.1507169Z         "int"
2026-06-17T00:59:16.1507270Z       ],
2026-06-17T00:59:16.1507380Z       "stages": {
2026-06-17T00:59:16.1507484Z         "doc": {
2026-06-17T00:59:16.1507599Z           "complete": false,
2026-06-17T00:59:16.1507704Z           "evidence": []
2026-06-17T00:59:16.1507803Z         },
2026-06-17T00:59:16.1507904Z         "impl": {
2026-06-17T00:59:16.1508018Z           "complete": true,
2026-06-17T00:59:16.1508123Z           "evidence": [
2026-06-17T00:59:16.1508296Z             {
2026-06-17T00:59:16.1508452Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1508548Z               "line": 177
2026-06-17T00:59:16.1508657Z             },
2026-06-17T00:59:16.1508757Z             {
2026-06-17T00:59:16.1508902Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1509101Z               "line": 201
2026-06-17T00:59:16.1509197Z             },
2026-06-17T00:59:16.1509292Z             {
2026-06-17T00:59:16.1509424Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.1509539Z               "line": 79
2026-06-17T00:59:16.1509639Z             },
2026-06-17T00:59:16.1509734Z             {
2026-06-17T00:59:16.1509873Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1509978Z               "line": 52
2026-06-17T00:59:16.1510081Z             },
2026-06-17T00:59:16.1510174Z             {
2026-06-17T00:59:16.1510316Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1510430Z               "line": 240
2026-06-17T00:59:16.1510531Z             },
2026-06-17T00:59:16.1510630Z             {
2026-06-17T00:59:16.1510774Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1510884Z               "line": 27
2026-06-17T00:59:16.1510983Z             },
2026-06-17T00:59:16.1511089Z             {
2026-06-17T00:59:16.1511241Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1511346Z               "line": 79
2026-06-17T00:59:16.1511447Z             },
2026-06-17T00:59:16.1511550Z             {
2026-06-17T00:59:16.1511697Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1511802Z               "line": 102
2026-06-17T00:59:16.1511915Z             },
2026-06-17T00:59:16.1512019Z             {
2026-06-17T00:59:16.1512144Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1512258Z               "line": 116
2026-06-17T00:59:16.1512358Z             }
2026-06-17T00:59:16.1512454Z           ]
2026-06-17T00:59:16.1512553Z         },
2026-06-17T00:59:16.1512658Z         "int": {
2026-06-17T00:59:16.1512769Z           "complete": true,
2026-06-17T00:59:16.1512873Z           "evidence": [
2026-06-17T00:59:16.1512982Z             {
2026-06-17T00:59:16.1513126Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-17T00:59:16.1513226Z               "line": 43
2026-06-17T00:59:16.1513335Z             }
2026-06-17T00:59:16.1513436Z           ]
2026-06-17T00:59:16.1515998Z         },
2026-06-17T00:59:16.1516126Z         "unit": {
2026-06-17T00:59:16.1516251Z           "complete": true,
2026-06-17T00:59:16.1516350Z           "evidence": [
2026-06-17T00:59:16.1516459Z             {
2026-06-17T00:59:16.1516623Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1516736Z               "line": 653
2026-06-17T00:59:16.1516842Z             },
2026-06-17T00:59:16.1516938Z             {
2026-06-17T00:59:16.1517088Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1517207Z               "line": 438
2026-06-17T00:59:16.1517312Z             },
2026-06-17T00:59:16.1517410Z             {
2026-06-17T00:59:16.1517558Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1517668Z               "line": 124
2026-06-17T00:59:16.1517768Z             },
2026-06-17T00:59:16.1517869Z             {
2026-06-17T00:59:16.1518150Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1518245Z               "line": 143
2026-06-17T00:59:16.1518344Z             },
2026-06-17T00:59:16.1518445Z             {
2026-06-17T00:59:16.1518592Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1518692Z               "line": 160
2026-06-17T00:59:16.1518794Z             },
2026-06-17T00:59:16.1518898Z             {
2026-06-17T00:59:16.1519128Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1519231Z               "line": 187
2026-06-17T00:59:16.1519457Z             },
2026-06-17T00:59:16.1519565Z             {
2026-06-17T00:59:16.1519699Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T00:59:16.1519820Z               "line": 206
2026-06-17T00:59:16.1519917Z             },
2026-06-17T00:59:16.1520021Z             {
2026-06-17T00:59:16.1520156Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1520265Z               "line": 229
2026-06-17T00:59:16.1520365Z             }
2026-06-17T00:59:16.1520466Z           ]
2026-06-17T00:59:16.1520561Z         }
2026-06-17T00:59:16.1520660Z       }
2026-06-17T00:59:16.1520762Z     },
2026-06-17T00:59:16.1520857Z     {
2026-06-17T00:59:16.1521000Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-17T00:59:16.1521683Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-17T00:59:16.1521801Z       "requiredStages": [
2026-06-17T00:59:16.1521901Z         "impl",
2026-06-17T00:59:16.1522002Z         "unit"
2026-06-17T00:59:16.1522102Z       ],
2026-06-17T00:59:16.1522205Z       "stages": {
2026-06-17T00:59:16.1522305Z         "doc": {
2026-06-17T00:59:16.1522414Z           "complete": false,
2026-06-17T00:59:16.1522522Z           "evidence": []
2026-06-17T00:59:16.1522627Z         },
2026-06-17T00:59:16.1522738Z         "impl": {
2026-06-17T00:59:16.1522846Z           "complete": true,
2026-06-17T00:59:16.1522956Z           "evidence": [
2026-06-17T00:59:16.1523057Z             {
2026-06-17T00:59:16.1523199Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1523305Z               "line": 621
2026-06-17T00:59:16.1523405Z             },
2026-06-17T00:59:16.1523504Z             {
2026-06-17T00:59:16.1523634Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1523743Z               "line": 834
2026-06-17T00:59:16.1523847Z             }
2026-06-17T00:59:16.1523949Z           ]
2026-06-17T00:59:16.1524048Z         },
2026-06-17T00:59:16.1524153Z         "int": {
2026-06-17T00:59:16.1524264Z           "complete": false,
2026-06-17T00:59:16.1524368Z           "evidence": []
2026-06-17T00:59:16.1524468Z         },
2026-06-17T00:59:16.1524564Z         "unit": {
2026-06-17T00:59:16.1524682Z           "complete": true,
2026-06-17T00:59:16.1524783Z           "evidence": [
2026-06-17T00:59:16.1524884Z             {
2026-06-17T00:59:16.1525044Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T00:59:16.1525148Z               "line": 161
2026-06-17T00:59:16.1525248Z             }
2026-06-17T00:59:16.1525351Z           ]
2026-06-17T00:59:16.1525451Z         }
2026-06-17T00:59:16.1525547Z       }
2026-06-17T00:59:16.1525643Z     },
2026-06-17T00:59:16.1525741Z     {
2026-06-17T00:59:16.1525867Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-17T00:59:16.1526080Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-17T00:59:16.1526196Z       "requiredStages": [
2026-06-17T00:59:16.1526301Z         "impl",
2026-06-17T00:59:16.1526395Z         "unit"
2026-06-17T00:59:16.1526501Z       ],
2026-06-17T00:59:16.1526605Z       "stages": {
2026-06-17T00:59:16.1526705Z         "doc": {
2026-06-17T00:59:16.1526816Z           "complete": false,
2026-06-17T00:59:16.1527029Z           "evidence": []
2026-06-17T00:59:16.1527126Z         },
2026-06-17T00:59:16.1527230Z         "impl": {
2026-06-17T00:59:16.1527344Z           "complete": true,
2026-06-17T00:59:16.1527455Z           "evidence": [
2026-06-17T00:59:16.1527550Z             {
2026-06-17T00:59:16.1527691Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1527796Z               "line": 40
2026-06-17T00:59:16.1527890Z             },
2026-06-17T00:59:16.1527989Z             {
2026-06-17T00:59:16.1528128Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1528233Z               "line": 103
2026-06-17T00:59:16.1528409Z             },
2026-06-17T00:59:16.1528519Z             {
2026-06-17T00:59:16.1528662Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1528768Z               "line": 218
2026-06-17T00:59:16.1528858Z             },
2026-06-17T00:59:16.1529015Z             {
2026-06-17T00:59:16.1529157Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1529262Z               "line": 323
2026-06-17T00:59:16.1529363Z             }
2026-06-17T00:59:16.1529463Z           ]
2026-06-17T00:59:16.1529567Z         },
2026-06-17T00:59:16.1529664Z         "int": {
2026-06-17T00:59:16.1529778Z           "complete": false,
2026-06-17T00:59:16.1529882Z           "evidence": []
2026-06-17T00:59:16.1529984Z         },
2026-06-17T00:59:16.1530084Z         "unit": {
2026-06-17T00:59:16.1530188Z           "complete": true,
2026-06-17T00:59:16.1530284Z           "evidence": [
2026-06-17T00:59:16.1530380Z             {
2026-06-17T00:59:16.1530525Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1530639Z               "line": 361
2026-06-17T00:59:16.1530746Z             },
2026-06-17T00:59:16.1530849Z             {
2026-06-17T00:59:16.1530978Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1531084Z               "line": 433
2026-06-17T00:59:16.1531183Z             },
2026-06-17T00:59:16.1531289Z             {
2026-06-17T00:59:16.1531418Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1531521Z               "line": 496
2026-06-17T00:59:16.1531623Z             },
2026-06-17T00:59:16.1531722Z             {
2026-06-17T00:59:16.1531851Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1531952Z               "line": 517
2026-06-17T00:59:16.1532056Z             }
2026-06-17T00:59:16.1532146Z           ]
2026-06-17T00:59:16.1532243Z         }
2026-06-17T00:59:16.1532342Z       }
2026-06-17T00:59:16.1532442Z     },
2026-06-17T00:59:16.1532543Z     {
2026-06-17T00:59:16.1532689Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-17T00:59:16.1532836Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-17T00:59:16.1532955Z       "requiredStages": [
2026-06-17T00:59:16.1533054Z         "impl",
2026-06-17T00:59:16.1533153Z         "unit"
2026-06-17T00:59:16.1533245Z       ],
2026-06-17T00:59:16.1533344Z       "stages": {
2026-06-17T00:59:16.1533439Z         "doc": {
2026-06-17T00:59:16.1533550Z           "complete": false,
2026-06-17T00:59:16.1533655Z           "evidence": []
2026-06-17T00:59:16.1533754Z         },
2026-06-17T00:59:16.1533856Z         "impl": {
2026-06-17T00:59:16.1533974Z           "complete": true,
2026-06-17T00:59:16.1534079Z           "evidence": [
2026-06-17T00:59:16.1534180Z             {
2026-06-17T00:59:16.1534317Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1534427Z               "line": 116
2026-06-17T00:59:16.1534528Z             },
2026-06-17T00:59:16.1534623Z             {
2026-06-17T00:59:16.1534756Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1534866Z               "line": 211
2026-06-17T00:59:16.1534966Z             }
2026-06-17T00:59:16.1535066Z           ]
2026-06-17T00:59:16.1535167Z         },
2026-06-17T00:59:16.1535266Z         "int": {
2026-06-17T00:59:16.1535376Z           "complete": false,
2026-06-17T00:59:16.1535482Z           "evidence": []
2026-06-17T00:59:16.1535684Z         },
2026-06-17T00:59:16.1535785Z         "unit": {
2026-06-17T00:59:16.1535893Z           "complete": true,
2026-06-17T00:59:16.1536001Z           "evidence": [
2026-06-17T00:59:16.1536103Z             {
2026-06-17T00:59:16.1536236Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1536335Z               "line": 388
2026-06-17T00:59:16.1536432Z             },
2026-06-17T00:59:16.1536522Z             {
2026-06-17T00:59:16.1536645Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1536756Z               "line": 469
2026-06-17T00:59:16.1536851Z             }
2026-06-17T00:59:16.1537066Z           ]
2026-06-17T00:59:16.1537166Z         }
2026-06-17T00:59:16.1537261Z       }
2026-06-17T00:59:16.1537357Z     },
2026-06-17T00:59:16.1537457Z     {
2026-06-17T00:59:16.1537599Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-17T00:59:16.1538817Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-17T00:59:16.1539023Z       "requiredStages": [
2026-06-17T00:59:16.1539113Z         "impl",
2026-06-17T00:59:16.1539217Z         "unit"
2026-06-17T00:59:16.1539318Z       ],
2026-06-17T00:59:16.1539418Z       "stages": {
2026-06-17T00:59:16.1539517Z         "doc": {
2026-06-17T00:59:16.1539618Z           "complete": true,
2026-06-17T00:59:16.1539741Z           "evidence": [
2026-06-17T00:59:16.1539841Z             {
2026-06-17T00:59:16.1539976Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1540085Z               "line": 206
2026-06-17T00:59:16.1540180Z             }
2026-06-17T00:59:16.1540277Z           ]
2026-06-17T00:59:16.1540375Z         },
2026-06-17T00:59:16.1540476Z         "impl": {
2026-06-17T00:59:16.1540582Z           "complete": true,
2026-06-17T00:59:16.1540676Z           "evidence": [
2026-06-17T00:59:16.1540776Z             {
2026-06-17T00:59:16.1540925Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1541029Z               "line": 630
2026-06-17T00:59:16.1541128Z             },
2026-06-17T00:59:16.1541228Z             {
2026-06-17T00:59:16.1541371Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1541471Z               "line": 722
2026-06-17T00:59:16.1541573Z             },
2026-06-17T00:59:16.1541668Z             {
2026-06-17T00:59:16.1541815Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.1541916Z               "line": 184
2026-06-17T00:59:16.1542020Z             }
2026-06-17T00:59:16.1542115Z           ]
2026-06-17T00:59:16.1542221Z         },
2026-06-17T00:59:16.1542311Z         "int": {
2026-06-17T00:59:16.1542416Z           "complete": false,
2026-06-17T00:59:16.1542517Z           "evidence": []
2026-06-17T00:59:16.1542620Z         },
2026-06-17T00:59:16.1542725Z         "unit": {
2026-06-17T00:59:16.1542827Z           "complete": true,
2026-06-17T00:59:16.1542935Z           "evidence": [
2026-06-17T00:59:16.1543035Z             {
2026-06-17T00:59:16.1543175Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1543278Z               "line": 771
2026-06-17T00:59:16.1543377Z             },
2026-06-17T00:59:16.1543478Z             {
2026-06-17T00:59:16.1543619Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T00:59:16.1543723Z               "line": 44
2026-06-17T00:59:16.1543824Z             },
2026-06-17T00:59:16.1543924Z             {
2026-06-17T00:59:16.1544076Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-17T00:59:16.1544177Z               "line": 52
2026-06-17T00:59:16.1544281Z             },
2026-06-17T00:59:16.1544372Z             {
2026-06-17T00:59:16.1544520Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T00:59:16.1544711Z               "line": 57
2026-06-17T00:59:16.1544811Z             },
2026-06-17T00:59:16.1544915Z             {
2026-06-17T00:59:16.1545069Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-17T00:59:16.1545168Z               "line": 54
2026-06-17T00:59:16.1545268Z             }
2026-06-17T00:59:16.1545365Z           ]
2026-06-17T00:59:16.1545468Z         }
2026-06-17T00:59:16.1545564Z       }
2026-06-17T00:59:16.1545660Z     },
2026-06-17T00:59:16.1545755Z     {
2026-06-17T00:59:16.1545903Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-17T00:59:16.1546145Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-17T00:59:16.1546355Z       "requiredStages": [
2026-06-17T00:59:16.1546453Z         "impl",
2026-06-17T00:59:16.1546557Z         "unit"
2026-06-17T00:59:16.1546658Z       ],
2026-06-17T00:59:16.1546758Z       "stages": {
2026-06-17T00:59:16.1546862Z         "doc": {
2026-06-17T00:59:16.1546968Z           "complete": false,
2026-06-17T00:59:16.1547073Z           "evidence": []
2026-06-17T00:59:16.1547172Z         },
2026-06-17T00:59:16.1547273Z         "impl": {
2026-06-17T00:59:16.1547387Z           "complete": true,
2026-06-17T00:59:16.1547482Z           "evidence": [
2026-06-17T00:59:16.1547583Z             {
2026-06-17T00:59:16.1547726Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1547830Z               "line": 26
2026-06-17T00:59:16.1547932Z             },
2026-06-17T00:59:16.1548031Z             {
2026-06-17T00:59:16.1548169Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1548275Z               "line": 135
2026-06-17T00:59:16.1548378Z             },
2026-06-17T00:59:16.1548479Z             {
2026-06-17T00:59:16.1548623Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1548731Z               "line": 26
2026-06-17T00:59:16.1548830Z             },
2026-06-17T00:59:16.1548921Z             {
2026-06-17T00:59:16.1549143Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1549253Z               "line": 237
2026-06-17T00:59:16.1549353Z             }
2026-06-17T00:59:16.1549462Z           ]
2026-06-17T00:59:16.1549563Z         },
2026-06-17T00:59:16.1549659Z         "int": {
2026-06-17T00:59:16.1549762Z           "complete": false,
2026-06-17T00:59:16.1549864Z           "evidence": []
2026-06-17T00:59:16.1549968Z         },
2026-06-17T00:59:16.1550072Z         "unit": {
2026-06-17T00:59:16.1550174Z           "complete": true,
2026-06-17T00:59:16.1550283Z           "evidence": [
2026-06-17T00:59:16.1550382Z             {
2026-06-17T00:59:16.1550522Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1550626Z               "line": 161
2026-06-17T00:59:16.1550731Z             },
2026-06-17T00:59:16.1550827Z             {
2026-06-17T00:59:16.1550954Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1551070Z               "line": 170
2026-06-17T00:59:16.1551171Z             },
2026-06-17T00:59:16.1551274Z             {
2026-06-17T00:59:16.1551414Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1551519Z               "line": 179
2026-06-17T00:59:16.1551612Z             },
2026-06-17T00:59:16.1551707Z             {
2026-06-17T00:59:16.1551851Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1551955Z               "line": 190
2026-06-17T00:59:16.1552055Z             },
2026-06-17T00:59:16.1552152Z             {
2026-06-17T00:59:16.1552288Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1552404Z               "line": 199
2026-06-17T00:59:16.1552504Z             },
2026-06-17T00:59:16.1552608Z             {
2026-06-17T00:59:16.1552738Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1552847Z               "line": 216
2026-06-17T00:59:16.1552942Z             },
2026-06-17T00:59:16.1553043Z             {
2026-06-17T00:59:16.1553171Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T00:59:16.1553363Z               "line": 242
2026-06-17T00:59:16.1553463Z             },
2026-06-17T00:59:16.1553562Z             {
2026-06-17T00:59:16.1553702Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.1553805Z               "line": 295
2026-06-17T00:59:16.1553905Z             },
2026-06-17T00:59:16.1554009Z             {
2026-06-17T00:59:16.1554132Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1554245Z               "line": 244
2026-06-17T00:59:16.1554341Z             },
2026-06-17T00:59:16.1554442Z             {
2026-06-17T00:59:16.1554695Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1554799Z               "line": 265
2026-06-17T00:59:16.1554898Z             },
2026-06-17T00:59:16.1555000Z             {
2026-06-17T00:59:16.1555142Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1555247Z               "line": 293
2026-06-17T00:59:16.1555352Z             },
2026-06-17T00:59:16.1555457Z             {
2026-06-17T00:59:16.1555605Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1555700Z               "line": 317
2026-06-17T00:59:16.1555804Z             },
2026-06-17T00:59:16.1555906Z             {
2026-06-17T00:59:16.1556038Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T00:59:16.1556143Z               "line": 327
2026-06-17T00:59:16.1556244Z             },
2026-06-17T00:59:16.1556344Z             {
2026-06-17T00:59:16.1556487Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.1556588Z               "line": 540
2026-06-17T00:59:16.1556691Z             }
2026-06-17T00:59:16.1556790Z           ]
2026-06-17T00:59:16.1556876Z         }
2026-06-17T00:59:16.1556980Z       }
2026-06-17T00:59:16.1557075Z     },
2026-06-17T00:59:16.1557175Z     {
2026-06-17T00:59:16.1557319Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-17T00:59:16.1557489Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-17T00:59:16.1557585Z       "requiredStages": [
2026-06-17T00:59:16.1557689Z         "impl",
2026-06-17T00:59:16.1557794Z         "unit"
2026-06-17T00:59:16.1557895Z       ],
2026-06-17T00:59:16.1557990Z       "stages": {
2026-06-17T00:59:16.1558094Z         "doc": {
2026-06-17T00:59:16.1558201Z           "complete": false,
2026-06-17T00:59:16.1558300Z           "evidence": []
2026-06-17T00:59:16.1558405Z         },
2026-06-17T00:59:16.1558502Z         "impl": {
2026-06-17T00:59:16.1558605Z           "complete": true,
2026-06-17T00:59:16.1558720Z           "evidence": [
2026-06-17T00:59:16.1558821Z             {
2026-06-17T00:59:16.1559020Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.1559116Z               "line": 25
2026-06-17T00:59:16.1559216Z             },
2026-06-17T00:59:16.1559319Z             {
2026-06-17T00:59:16.1559453Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.1559561Z               "line": 26
2026-06-17T00:59:16.1559660Z             },
2026-06-17T00:59:16.1559760Z             {
2026-06-17T00:59:16.1559885Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.1559993Z               "line": 159
2026-06-17T00:59:16.1560085Z             }
2026-06-17T00:59:16.1560176Z           ]
2026-06-17T00:59:16.1560270Z         },
2026-06-17T00:59:16.1560375Z         "int": {
2026-06-17T00:59:16.1560490Z           "complete": false,
2026-06-17T00:59:16.1560599Z           "evidence": []
2026-06-17T00:59:16.1560700Z         },
2026-06-17T00:59:16.1560805Z         "unit": {
2026-06-17T00:59:16.1560910Z           "complete": true,
2026-06-17T00:59:16.1561019Z           "evidence": [
2026-06-17T00:59:16.1561115Z             {
2026-06-17T00:59:16.1561248Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.1561354Z               "line": 188
2026-06-17T00:59:16.1561444Z             },
2026-06-17T00:59:16.1561549Z             {
2026-06-17T00:59:16.1561796Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.1561906Z               "line": 240
2026-06-17T00:59:16.1562003Z             },
2026-06-17T00:59:16.1562107Z             {
2026-06-17T00:59:16.1562234Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.1562335Z               "line": 186
2026-06-17T00:59:16.1562440Z             }
2026-06-17T00:59:16.1562534Z           ]
2026-06-17T00:59:16.1562630Z         }
2026-06-17T00:59:16.1562721Z       }
2026-06-17T00:59:16.1562811Z     },
2026-06-17T00:59:16.1562906Z     {
2026-06-17T00:59:16.1563031Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-17T00:59:16.1563317Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-17T00:59:16.1563426Z       "requiredStages": [
2026-06-17T00:59:16.1563536Z         "impl",
2026-06-17T00:59:16.1563637Z         "unit"
2026-06-17T00:59:16.1563740Z       ],
2026-06-17T00:59:16.1563845Z       "stages": {
2026-06-17T00:59:16.1563942Z         "doc": {
2026-06-17T00:59:16.1564065Z           "complete": false,
2026-06-17T00:59:16.1564170Z           "evidence": []
2026-06-17T00:59:16.1564276Z         },
2026-06-17T00:59:16.1564375Z         "impl": {
2026-06-17T00:59:16.1564493Z           "complete": true,
2026-06-17T00:59:16.1564593Z           "evidence": [
2026-06-17T00:59:16.1564697Z             {
2026-06-17T00:59:16.1564838Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1564945Z               "line": 48
2026-06-17T00:59:16.1565044Z             },
2026-06-17T00:59:16.1565144Z             {
2026-06-17T00:59:16.1565274Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1565382Z               "line": 55
2026-06-17T00:59:16.1565487Z             },
2026-06-17T00:59:16.1565589Z             {
2026-06-17T00:59:16.1565721Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1565836Z               "line": 74
2026-06-17T00:59:16.1565941Z             },
2026-06-17T00:59:16.1566040Z             {
2026-06-17T00:59:16.1566170Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1566283Z               "line": 91
2026-06-17T00:59:16.1566388Z             }
2026-06-17T00:59:16.1566490Z           ]
2026-06-17T00:59:16.1566598Z         },
2026-06-17T00:59:16.1566698Z         "int": {
2026-06-17T00:59:16.1566809Z           "complete": false,
2026-06-17T00:59:16.1566909Z           "evidence": []
2026-06-17T00:59:16.1567004Z         },
2026-06-17T00:59:16.1567100Z         "unit": {
2026-06-17T00:59:16.1567205Z           "complete": true,
2026-06-17T00:59:16.1567308Z           "evidence": [
2026-06-17T00:59:16.1567413Z             {
2026-06-17T00:59:16.1567550Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1567649Z               "line": 149
2026-06-17T00:59:16.1567754Z             },
2026-06-17T00:59:16.1567859Z             {
2026-06-17T00:59:16.1567987Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1568088Z               "line": 166
2026-06-17T00:59:16.1568193Z             },
2026-06-17T00:59:16.1568292Z             {
2026-06-17T00:59:16.1568427Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1568537Z               "line": 176
2026-06-17T00:59:16.1568640Z             },
2026-06-17T00:59:16.1568742Z             {
2026-06-17T00:59:16.1568879Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1569062Z               "line": 194
2026-06-17T00:59:16.1569160Z             },
2026-06-17T00:59:16.1569260Z             {
2026-06-17T00:59:16.1569400Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1569518Z               "line": 207
2026-06-17T00:59:16.1569618Z             }
2026-06-17T00:59:16.1569720Z           ]
2026-06-17T00:59:16.1569813Z         }
2026-06-17T00:59:16.1569917Z       }
2026-06-17T00:59:16.1570013Z     },
2026-06-17T00:59:16.1570107Z     {
2026-06-17T00:59:16.1570243Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-17T00:59:16.1570459Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-17T00:59:16.1570698Z       "requiredStages": [
2026-06-17T00:59:16.1570798Z         "impl",
2026-06-17T00:59:16.1570902Z         "unit"
2026-06-17T00:59:16.1571003Z       ],
2026-06-17T00:59:16.1571103Z       "stages": {
2026-06-17T00:59:16.1571207Z         "doc": {
2026-06-17T00:59:16.1571323Z           "complete": false,
2026-06-17T00:59:16.1571417Z           "evidence": []
2026-06-17T00:59:16.1571517Z         },
2026-06-17T00:59:16.1571619Z         "impl": {
2026-06-17T00:59:16.1571727Z           "complete": true,
2026-06-17T00:59:16.1571934Z           "evidence": [
2026-06-17T00:59:16.1572032Z             {
2026-06-17T00:59:16.1572180Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1572296Z               "line": 441
2026-06-17T00:59:16.1572394Z             },
2026-06-17T00:59:16.1572495Z             {
2026-06-17T00:59:16.1572629Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1572733Z               "line": 26
2026-06-17T00:59:16.1572837Z             }
2026-06-17T00:59:16.1572933Z           ]
2026-06-17T00:59:16.1573033Z         },
2026-06-17T00:59:16.1573132Z         "int": {
2026-06-17T00:59:16.1573238Z           "complete": false,
2026-06-17T00:59:16.1573348Z           "evidence": []
2026-06-17T00:59:16.1573447Z         },
2026-06-17T00:59:16.1573553Z         "unit": {
2026-06-17T00:59:16.1573672Z           "complete": true,
2026-06-17T00:59:16.1573786Z           "evidence": [
2026-06-17T00:59:16.1573877Z             {
2026-06-17T00:59:16.1574011Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1574115Z               "line": 150
2026-06-17T00:59:16.1574225Z             },
2026-06-17T00:59:16.1574320Z             {
2026-06-17T00:59:16.1574449Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1574554Z               "line": 208
2026-06-17T00:59:16.1574653Z             }
2026-06-17T00:59:16.1574759Z           ]
2026-06-17T00:59:16.1574860Z         }
2026-06-17T00:59:16.1574959Z       }
2026-06-17T00:59:16.1575058Z     },
2026-06-17T00:59:16.1575149Z     {
2026-06-17T00:59:16.1575285Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-17T00:59:16.1576682Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-17T00:59:16.1576816Z       "requiredStages": [
2026-06-17T00:59:16.1576916Z         "doc",
2026-06-17T00:59:16.1577011Z         "impl",
2026-06-17T00:59:16.1577121Z         "unit"
2026-06-17T00:59:16.1577211Z       ],
2026-06-17T00:59:16.1577312Z       "stages": {
2026-06-17T00:59:16.1577412Z         "doc": {
2026-06-17T00:59:16.1577520Z           "complete": true,
2026-06-17T00:59:16.1577617Z           "evidence": [
2026-06-17T00:59:16.1577718Z             {
2026-06-17T00:59:16.1577858Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1577963Z               "line": 214
2026-06-17T00:59:16.1578068Z             }
2026-06-17T00:59:16.1578171Z           ]
2026-06-17T00:59:16.1578256Z         },
2026-06-17T00:59:16.1578352Z         "impl": {
2026-06-17T00:59:16.1578458Z           "complete": true,
2026-06-17T00:59:16.1578557Z           "evidence": [
2026-06-17T00:59:16.1578653Z             {
2026-06-17T00:59:16.1578801Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1578919Z               "line": 56
2026-06-17T00:59:16.1579116Z             },
2026-06-17T00:59:16.1579210Z             {
2026-06-17T00:59:16.1579354Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1579477Z               "line": 548
2026-06-17T00:59:16.1579578Z             },
2026-06-17T00:59:16.1579778Z             {
2026-06-17T00:59:16.1579922Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1580030Z               "line": 36
2026-06-17T00:59:16.1580131Z             },
2026-06-17T00:59:16.1580232Z             {
2026-06-17T00:59:16.1580383Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1580482Z               "line": 59
2026-06-17T00:59:16.1580587Z             },
2026-06-17T00:59:16.1580686Z             {
2026-06-17T00:59:16.1580832Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1580943Z               "line": 83
2026-06-17T00:59:16.1581137Z             },
2026-06-17T00:59:16.1581239Z             {
2026-06-17T00:59:16.1581381Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1581496Z               "line": 140
2026-06-17T00:59:16.1581601Z             },
2026-06-17T00:59:16.1581691Z             {
2026-06-17T00:59:16.1581835Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1581944Z               "line": 159
2026-06-17T00:59:16.1582048Z             },
2026-06-17T00:59:16.1582149Z             {
2026-06-17T00:59:16.1582297Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1582402Z               "line": 384
2026-06-17T00:59:16.1582494Z             },
2026-06-17T00:59:16.1582587Z             {
2026-06-17T00:59:16.1582731Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1582837Z               "line": 526
2026-06-17T00:59:16.1582945Z             },
2026-06-17T00:59:16.1583050Z             {
2026-06-17T00:59:16.1583199Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1583302Z               "line": 572
2026-06-17T00:59:16.1583407Z             },
2026-06-17T00:59:16.1583503Z             {
2026-06-17T00:59:16.1583645Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1583740Z               "line": 300
2026-06-17T00:59:16.1583842Z             },
2026-06-17T00:59:16.1583945Z             {
2026-06-17T00:59:16.1584080Z               "path": "crates/spt/src/main.rs",
2026-06-17T00:59:16.1584194Z               "line": 41
2026-06-17T00:59:16.1584284Z             }
2026-06-17T00:59:16.1584384Z           ]
2026-06-17T00:59:16.1584485Z         },
2026-06-17T00:59:16.1584589Z         "int": {
2026-06-17T00:59:16.1584709Z           "complete": false,
2026-06-17T00:59:16.1584814Z           "evidence": []
2026-06-17T00:59:16.1584918Z         },
2026-06-17T00:59:16.1585010Z         "unit": {
2026-06-17T00:59:16.1585124Z           "complete": true,
2026-06-17T00:59:16.1585228Z           "evidence": [
2026-06-17T00:59:16.1585329Z             {
2026-06-17T00:59:16.1585481Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1585585Z               "line": 785
2026-06-17T00:59:16.1585695Z             },
2026-06-17T00:59:16.1585789Z             {
2026-06-17T00:59:16.1585935Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1586040Z               "line": 826
2026-06-17T00:59:16.1586145Z             },
2026-06-17T00:59:16.1586250Z             {
2026-06-17T00:59:16.1586394Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.1586503Z               "line": 900
2026-06-17T00:59:16.1586603Z             }
2026-06-17T00:59:16.1586718Z           ]
2026-06-17T00:59:16.1586817Z         }
2026-06-17T00:59:16.1586913Z       }
2026-06-17T00:59:16.1587019Z     },
2026-06-17T00:59:16.1587118Z     {
2026-06-17T00:59:16.1587261Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-17T00:59:16.1589117Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-17T00:59:16.1589356Z       "requiredStages": [
2026-06-17T00:59:16.1589504Z         "impl",
2026-06-17T00:59:16.1589600Z         "unit"
2026-06-17T00:59:16.1589713Z       ],
2026-06-17T00:59:16.1589818Z       "stages": {
2026-06-17T00:59:16.1589915Z         "doc": {
2026-06-17T00:59:16.1590033Z           "complete": false,
2026-06-17T00:59:16.1590138Z           "evidence": []
2026-06-17T00:59:16.1590244Z         },
2026-06-17T00:59:16.1590443Z         "impl": {
2026-06-17T00:59:16.1590558Z           "complete": true,
2026-06-17T00:59:16.1590657Z           "evidence": [
2026-06-17T00:59:16.1590758Z             {
2026-06-17T00:59:16.1590906Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1591009Z               "line": 31
2026-06-17T00:59:16.1591110Z             }
2026-06-17T00:59:16.1591214Z           ]
2026-06-17T00:59:16.1591317Z         },
2026-06-17T00:59:16.1591417Z         "int": {
2026-06-17T00:59:16.1591532Z           "complete": false,
2026-06-17T00:59:16.1591636Z           "evidence": []
2026-06-17T00:59:16.1591741Z         },
2026-06-17T00:59:16.1591842Z         "unit": {
2026-06-17T00:59:16.1591950Z           "complete": true,
2026-06-17T00:59:16.1592056Z           "evidence": [
2026-06-17T00:59:16.1592156Z             {
2026-06-17T00:59:16.1592294Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1592395Z               "line": 181
2026-06-17T00:59:16.1592504Z             }
2026-06-17T00:59:16.1592604Z           ]
2026-06-17T00:59:16.1592700Z         }
2026-06-17T00:59:16.1592800Z       }
2026-06-17T00:59:16.1592900Z     },
2026-06-17T00:59:16.1593000Z     {
2026-06-17T00:59:16.1593148Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-17T00:59:16.1593325Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-17T00:59:16.1593449Z       "requiredStages": [
2026-06-17T00:59:16.1593553Z         "impl",
2026-06-17T00:59:16.1593664Z         "unit"
2026-06-17T00:59:16.1593759Z       ],
2026-06-17T00:59:16.1593862Z       "stages": {
2026-06-17T00:59:16.1593967Z         "doc": {
2026-06-17T00:59:16.1594077Z           "complete": false,
2026-06-17T00:59:16.1596697Z           "evidence": []
2026-06-17T00:59:16.1596824Z         },
2026-06-17T00:59:16.1596935Z         "impl": {
2026-06-17T00:59:16.1597054Z           "complete": true,
2026-06-17T00:59:16.1597168Z           "evidence": [
2026-06-17T00:59:16.1597274Z             {
2026-06-17T00:59:16.1597444Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1597555Z               "line": 49
2026-06-17T00:59:16.1597654Z             },
2026-06-17T00:59:16.1597759Z             {
2026-06-17T00:59:16.1597903Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1598012Z               "line": 81
2026-06-17T00:59:16.1598122Z             }
2026-06-17T00:59:16.1598218Z           ]
2026-06-17T00:59:16.1598321Z         },
2026-06-17T00:59:16.1598422Z         "int": {
2026-06-17T00:59:16.1598542Z           "complete": false,
2026-06-17T00:59:16.1598650Z           "evidence": []
2026-06-17T00:59:16.1598747Z         },
2026-06-17T00:59:16.1598852Z         "unit": {
2026-06-17T00:59:16.1599050Z           "complete": true,
2026-06-17T00:59:16.1599160Z           "evidence": [
2026-06-17T00:59:16.1599258Z             {
2026-06-17T00:59:16.1599410Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1599521Z               "line": 156
2026-06-17T00:59:16.1599621Z             },
2026-06-17T00:59:16.1599720Z             {
2026-06-17T00:59:16.1599850Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1599968Z               "line": 173
2026-06-17T00:59:16.1600069Z             },
2026-06-17T00:59:16.1600174Z             {
2026-06-17T00:59:16.1600311Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1600560Z               "line": 196
2026-06-17T00:59:16.1600669Z             }
2026-06-17T00:59:16.1600770Z           ]
2026-06-17T00:59:16.1600864Z         }
2026-06-17T00:59:16.1600955Z       }
2026-06-17T00:59:16.1601061Z     },
2026-06-17T00:59:16.1601156Z     {
2026-06-17T00:59:16.1601313Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-17T00:59:16.1601522Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-17T00:59:16.1601621Z       "requiredStages": [
2026-06-17T00:59:16.1601727Z         "impl",
2026-06-17T00:59:16.1601835Z         "unit"
2026-06-17T00:59:16.1602039Z       ],
2026-06-17T00:59:16.1602140Z       "stages": {
2026-06-17T00:59:16.1602239Z         "doc": {
2026-06-17T00:59:16.1602360Z           "complete": false,
2026-06-17T00:59:16.1602460Z           "evidence": []
2026-06-17T00:59:16.1602549Z         },
2026-06-17T00:59:16.1602650Z         "impl": {
2026-06-17T00:59:16.1602764Z           "complete": true,
2026-06-17T00:59:16.1602878Z           "evidence": [
2026-06-17T00:59:16.1602984Z             {
2026-06-17T00:59:16.1603136Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1603236Z               "line": 120
2026-06-17T00:59:16.1603337Z             }
2026-06-17T00:59:16.1603442Z           ]
2026-06-17T00:59:16.1603537Z         },
2026-06-17T00:59:16.1603628Z         "int": {
2026-06-17T00:59:16.1603745Z           "complete": false,
2026-06-17T00:59:16.1603851Z           "evidence": []
2026-06-17T00:59:16.1603953Z         },
2026-06-17T00:59:16.1604051Z         "unit": {
2026-06-17T00:59:16.1604166Z           "complete": true,
2026-06-17T00:59:16.1604282Z           "evidence": [
2026-06-17T00:59:16.1604384Z             {
2026-06-17T00:59:16.1604532Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1604637Z               "line": 212
2026-06-17T00:59:16.1604737Z             },
2026-06-17T00:59:16.1604837Z             {
2026-06-17T00:59:16.1604980Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1605099Z               "line": 221
2026-06-17T00:59:16.1605195Z             },
2026-06-17T00:59:16.1605295Z             {
2026-06-17T00:59:16.1605442Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1605544Z               "line": 229
2026-06-17T00:59:16.1605648Z             },
2026-06-17T00:59:16.1605747Z             {
2026-06-17T00:59:16.1605892Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1605996Z               "line": 239
2026-06-17T00:59:16.1606100Z             },
2026-06-17T00:59:16.1606207Z             {
2026-06-17T00:59:16.1606353Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T00:59:16.1606464Z               "line": 249
2026-06-17T00:59:16.1606564Z             }
2026-06-17T00:59:16.1606667Z           ]
2026-06-17T00:59:16.1606772Z         }
2026-06-17T00:59:16.1606867Z       }
2026-06-17T00:59:16.1606975Z     },
2026-06-17T00:59:16.1607074Z     {
2026-06-17T00:59:16.1607224Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-17T00:59:16.1607414Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-17T00:59:16.1607529Z       "requiredStages": [
2026-06-17T00:59:16.1607637Z         "impl",
2026-06-17T00:59:16.1607738Z         "unit"
2026-06-17T00:59:16.1607838Z       ],
2026-06-17T00:59:16.1607942Z       "stages": {
2026-06-17T00:59:16.1608048Z         "doc": {
2026-06-17T00:59:16.1608153Z           "complete": false,
2026-06-17T00:59:16.1608257Z           "evidence": []
2026-06-17T00:59:16.1608357Z         },
2026-06-17T00:59:16.1608463Z         "impl": {
2026-06-17T00:59:16.1608581Z           "complete": true,
2026-06-17T00:59:16.1608687Z           "evidence": [
2026-06-17T00:59:16.1608792Z             {
2026-06-17T00:59:16.1608925Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1609112Z               "line": 14
2026-06-17T00:59:16.1609211Z             },
2026-06-17T00:59:16.1609312Z             {
2026-06-17T00:59:16.1609572Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1609677Z               "line": 63
2026-06-17T00:59:16.1609776Z             }
2026-06-17T00:59:16.1609880Z           ]
2026-06-17T00:59:16.1609980Z         },
2026-06-17T00:59:16.1610081Z         "int": {
2026-06-17T00:59:16.1610190Z           "complete": false,
2026-06-17T00:59:16.1610294Z           "evidence": []
2026-06-17T00:59:16.1610396Z         },
2026-06-17T00:59:16.1610504Z         "unit": {
2026-06-17T00:59:16.1610614Z           "complete": true,
2026-06-17T00:59:16.1610724Z           "evidence": [
2026-06-17T00:59:16.1610829Z             {
2026-06-17T00:59:16.1611053Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1611168Z               "line": 164
2026-06-17T00:59:16.1611263Z             },
2026-06-17T00:59:16.1611368Z             {
2026-06-17T00:59:16.1611496Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1611603Z               "line": 198
2026-06-17T00:59:16.1611707Z             },
2026-06-17T00:59:16.1611816Z             {
2026-06-17T00:59:16.1611941Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.1612050Z               "line": 220
2026-06-17T00:59:16.1612149Z             }
2026-06-17T00:59:16.1612249Z           ]
2026-06-17T00:59:16.1612348Z         }
2026-06-17T00:59:16.1612456Z       }
2026-06-17T00:59:16.1612552Z     },
2026-06-17T00:59:16.1612657Z     {
2026-06-17T00:59:16.1612780Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-17T00:59:16.1614217Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-17T00:59:16.1614345Z       "requiredStages": [],
2026-06-17T00:59:16.1614450Z       "stages": {
2026-06-17T00:59:16.1614560Z         "doc": {
2026-06-17T00:59:16.1614669Z           "complete": true,
2026-06-17T00:59:16.1614775Z           "evidence": [
2026-06-17T00:59:16.1614889Z             {
2026-06-17T00:59:16.1615030Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1615135Z               "line": 165
2026-06-17T00:59:16.1615237Z             }
2026-06-17T00:59:16.1615340Z           ]
2026-06-17T00:59:16.1615440Z         },
2026-06-17T00:59:16.1615545Z         "impl": {
2026-06-17T00:59:16.1615659Z           "complete": false,
2026-06-17T00:59:16.1615775Z           "evidence": []
2026-06-17T00:59:16.1615874Z         },
2026-06-17T00:59:16.1615974Z         "int": {
2026-06-17T00:59:16.1616089Z           "complete": false,
2026-06-17T00:59:16.1616198Z           "evidence": []
2026-06-17T00:59:16.1616303Z         },
2026-06-17T00:59:16.1616399Z         "unit": {
2026-06-17T00:59:16.1616508Z           "complete": false,
2026-06-17T00:59:16.1616632Z           "evidence": []
2026-06-17T00:59:16.1616733Z         }
2026-06-17T00:59:16.1616832Z       }
2026-06-17T00:59:16.1616932Z     },
2026-06-17T00:59:16.1617038Z     {
2026-06-17T00:59:16.1617180Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-17T00:59:16.1617432Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-17T00:59:16.1617549Z       "requiredStages": [
2026-06-17T00:59:16.1617654Z         "impl",
2026-06-17T00:59:16.1617755Z         "unit"
2026-06-17T00:59:16.1617859Z       ],
2026-06-17T00:59:16.1617964Z       "stages": {
2026-06-17T00:59:16.1618069Z         "doc": {
2026-06-17T00:59:16.1618188Z           "complete": false,
2026-06-17T00:59:16.1618288Z           "evidence": []
2026-06-17T00:59:16.1618389Z         },
2026-06-17T00:59:16.1618493Z         "impl": {
2026-06-17T00:59:16.1618608Z           "complete": true,
2026-06-17T00:59:16.1618713Z           "evidence": [
2026-06-17T00:59:16.1618812Z             {
2026-06-17T00:59:16.1619123Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1619232Z               "line": 76
2026-06-17T00:59:16.1619329Z             },
2026-06-17T00:59:16.1619432Z             {
2026-06-17T00:59:16.1619572Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1619695Z               "line": 167
2026-06-17T00:59:16.1619790Z             },
2026-06-17T00:59:16.1619892Z             {
2026-06-17T00:59:16.1620043Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1620142Z               "line": 233
2026-06-17T00:59:16.1620247Z             },
2026-06-17T00:59:16.1620445Z             {
2026-06-17T00:59:16.1620588Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1620698Z               "line": 272
2026-06-17T00:59:16.1620792Z             }
2026-06-17T00:59:16.1620899Z           ]
2026-06-17T00:59:16.1621003Z         },
2026-06-17T00:59:16.1621112Z         "int": {
2026-06-17T00:59:16.1621214Z           "complete": false,
2026-06-17T00:59:16.1621332Z           "evidence": []
2026-06-17T00:59:16.1621436Z         },
2026-06-17T00:59:16.1621533Z         "unit": {
2026-06-17T00:59:16.1621637Z           "complete": true,
2026-06-17T00:59:16.1621737Z           "evidence": [
2026-06-17T00:59:16.1621833Z             {
2026-06-17T00:59:16.1621961Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1622071Z               "line": 321
2026-06-17T00:59:16.1622172Z             },
2026-06-17T00:59:16.1622271Z             {
2026-06-17T00:59:16.1622414Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1622520Z               "line": 329
2026-06-17T00:59:16.1622624Z             },
2026-06-17T00:59:16.1622723Z             {
2026-06-17T00:59:16.1622866Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1622969Z               "line": 356
2026-06-17T00:59:16.1623073Z             },
2026-06-17T00:59:16.1623179Z             {
2026-06-17T00:59:16.1623307Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1623407Z               "line": 395
2026-06-17T00:59:16.1623508Z             },
2026-06-17T00:59:16.1623617Z             {
2026-06-17T00:59:16.1623751Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1623856Z               "line": 406
2026-06-17T00:59:16.1623956Z             },
2026-06-17T00:59:16.1624056Z             {
2026-06-17T00:59:16.1624199Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1624299Z               "line": 418
2026-06-17T00:59:16.1624400Z             },
2026-06-17T00:59:16.1624505Z             {
2026-06-17T00:59:16.1624632Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T00:59:16.1624743Z               "line": 442
2026-06-17T00:59:16.1624843Z             }
2026-06-17T00:59:16.1624942Z           ]
2026-06-17T00:59:16.1625044Z         }
2026-06-17T00:59:16.1625148Z       }
2026-06-17T00:59:16.1625244Z     },
2026-06-17T00:59:16.1625349Z     {
2026-06-17T00:59:16.1625477Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-17T00:59:16.1625652Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-17T00:59:16.1625767Z       "requiredStages": [
2026-06-17T00:59:16.1625871Z         "impl",
2026-06-17T00:59:16.1625976Z         "int"
2026-06-17T00:59:16.1626082Z       ],
2026-06-17T00:59:16.1626191Z       "stages": {
2026-06-17T00:59:16.1626296Z         "doc": {
2026-06-17T00:59:16.1626401Z           "complete": false,
2026-06-17T00:59:16.1626506Z           "evidence": []
2026-06-17T00:59:16.1626606Z         },
2026-06-17T00:59:16.1626711Z         "impl": {
2026-06-17T00:59:16.1626830Z           "complete": true,
2026-06-17T00:59:16.1626935Z           "evidence": [
2026-06-17T00:59:16.1627041Z             {
2026-06-17T00:59:16.1627182Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1627284Z               "line": 22
2026-06-17T00:59:16.1627383Z             }
2026-06-17T00:59:16.1627488Z           ]
2026-06-17T00:59:16.1627584Z         },
2026-06-17T00:59:16.1627778Z         "int": {
2026-06-17T00:59:16.1627897Z           "complete": true,
2026-06-17T00:59:16.1628006Z           "evidence": [
2026-06-17T00:59:16.1628109Z             {
2026-06-17T00:59:16.1628252Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-17T00:59:16.1628358Z               "line": 18
2026-06-17T00:59:16.1628457Z             }
2026-06-17T00:59:16.1628558Z           ]
2026-06-17T00:59:16.1628658Z         },
2026-06-17T00:59:16.1628762Z         "unit": {
2026-06-17T00:59:16.1628863Z           "complete": false,
2026-06-17T00:59:16.1629039Z           "evidence": []
2026-06-17T00:59:16.1629240Z         }
2026-06-17T00:59:16.1629330Z       }
2026-06-17T00:59:16.1629434Z     },
2026-06-17T00:59:16.1629536Z     {
2026-06-17T00:59:16.1629678Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-17T00:59:16.1629898Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-17T00:59:16.1630017Z       "requiredStages": [
2026-06-17T00:59:16.1630132Z         "impl",
2026-06-17T00:59:16.1630232Z         "unit"
2026-06-17T00:59:16.1630336Z       ],
2026-06-17T00:59:16.1630442Z       "stages": {
2026-06-17T00:59:16.1630542Z         "doc": {
2026-06-17T00:59:16.1630650Z           "complete": false,
2026-06-17T00:59:16.1630744Z           "evidence": []
2026-06-17T00:59:16.1630850Z         },
2026-06-17T00:59:16.1630948Z         "impl": {
2026-06-17T00:59:16.1631052Z           "complete": true,
2026-06-17T00:59:16.1631158Z           "evidence": [
2026-06-17T00:59:16.1631258Z             {
2026-06-17T00:59:16.1631415Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1631516Z               "line": 440
2026-06-17T00:59:16.1631610Z             },
2026-06-17T00:59:16.1631696Z             {
2026-06-17T00:59:16.1631840Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1631953Z               "line": 27
2026-06-17T00:59:16.1632054Z             }
2026-06-17T00:59:16.1632155Z           ]
2026-06-17T00:59:16.1632259Z         },
2026-06-17T00:59:16.1632364Z         "int": {
2026-06-17T00:59:16.1632469Z           "complete": false,
2026-06-17T00:59:16.1632573Z           "evidence": []
2026-06-17T00:59:16.1632679Z         },
2026-06-17T00:59:16.1632779Z         "unit": {
2026-06-17T00:59:16.1632893Z           "complete": true,
2026-06-17T00:59:16.1632989Z           "evidence": [
2026-06-17T00:59:16.1633090Z             {
2026-06-17T00:59:16.1633236Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1633340Z               "line": 965
2026-06-17T00:59:16.1633445Z             },
2026-06-17T00:59:16.1633539Z             {
2026-06-17T00:59:16.1633681Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1633787Z               "line": 181
2026-06-17T00:59:16.1633891Z             }
2026-06-17T00:59:16.1633996Z           ]
2026-06-17T00:59:16.1634097Z         }
2026-06-17T00:59:16.1634201Z       }
2026-06-17T00:59:16.1634287Z     },
2026-06-17T00:59:16.1634397Z     {
2026-06-17T00:59:16.1634530Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-17T00:59:16.1634726Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-17T00:59:16.1634845Z       "requiredStages": [
2026-06-17T00:59:16.1634945Z         "impl",
2026-06-17T00:59:16.1635050Z         "unit"
2026-06-17T00:59:16.1635155Z       ],
2026-06-17T00:59:16.1635255Z       "stages": {
2026-06-17T00:59:16.1635356Z         "doc": {
2026-06-17T00:59:16.1635475Z           "complete": false,
2026-06-17T00:59:16.1635585Z           "evidence": []
2026-06-17T00:59:16.1635680Z         },
2026-06-17T00:59:16.1635789Z         "impl": {
2026-06-17T00:59:16.1635905Z           "complete": true,
2026-06-17T00:59:16.1636028Z           "evidence": [
2026-06-17T00:59:16.1636126Z             {
2026-06-17T00:59:16.1636279Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1636394Z               "line": 73
2026-06-17T00:59:16.1636484Z             },
2026-06-17T00:59:16.1636690Z             {
2026-06-17T00:59:16.1636837Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1636952Z               "line": 955
2026-06-17T00:59:16.1637057Z             },
2026-06-17T00:59:16.1637161Z             {
2026-06-17T00:59:16.1637309Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1637409Z               "line": 20
2026-06-17T00:59:16.1637510Z             },
2026-06-17T00:59:16.1637615Z             {
2026-06-17T00:59:16.1637762Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1637863Z               "line": 100
2026-06-17T00:59:16.1638053Z             },
2026-06-17T00:59:16.1638159Z             {
2026-06-17T00:59:16.1638296Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T00:59:16.1638400Z               "line": 555
2026-06-17T00:59:16.1638505Z             },
2026-06-17T00:59:16.1638604Z             {
2026-06-17T00:59:16.1638745Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T00:59:16.1638866Z               "line": 68
2026-06-17T00:59:16.1639051Z             },
2026-06-17T00:59:16.1639151Z             {
2026-06-17T00:59:16.1639303Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T00:59:16.1639418Z               "line": 80
2026-06-17T00:59:16.1639523Z             }
2026-06-17T00:59:16.1639623Z           ]
2026-06-17T00:59:16.1639728Z         },
2026-06-17T00:59:16.1639834Z         "int": {
2026-06-17T00:59:16.1639947Z           "complete": true,
2026-06-17T00:59:16.1640062Z           "evidence": [
2026-06-17T00:59:16.1640153Z             {
2026-06-17T00:59:16.1640300Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-17T00:59:16.1640396Z               "line": 44
2026-06-17T00:59:16.1640501Z             }
2026-06-17T00:59:16.1640600Z           ]
2026-06-17T00:59:16.1640697Z         },
2026-06-17T00:59:16.1640802Z         "unit": {
2026-06-17T00:59:16.1640911Z           "complete": true,
2026-06-17T00:59:16.1641012Z           "evidence": [
2026-06-17T00:59:16.1641121Z             {
2026-06-17T00:59:16.1641263Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1641372Z               "line": 1155
2026-06-17T00:59:16.1641466Z             },
2026-06-17T00:59:16.1641570Z             {
2026-06-17T00:59:16.1641713Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.1641828Z               "line": 1171
2026-06-17T00:59:16.1641932Z             },
2026-06-17T00:59:16.1642029Z             {
2026-06-17T00:59:16.1642180Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1642280Z               "line": 1488
2026-06-17T00:59:16.1642386Z             },
2026-06-17T00:59:16.1642490Z             {
2026-06-17T00:59:16.1642629Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1642733Z               "line": 152
2026-06-17T00:59:16.1642838Z             },
2026-06-17T00:59:16.1642939Z             {
2026-06-17T00:59:16.1643072Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1643181Z               "line": 175
2026-06-17T00:59:16.1643278Z             },
2026-06-17T00:59:16.1643382Z             {
2026-06-17T00:59:16.1643516Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1643622Z               "line": 186
2026-06-17T00:59:16.1643725Z             },
2026-06-17T00:59:16.1643824Z             {
2026-06-17T00:59:16.1643968Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1644075Z               "line": 202
2026-06-17T00:59:16.1644169Z             },
2026-06-17T00:59:16.1644271Z             {
2026-06-17T00:59:16.1644418Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T00:59:16.1644523Z               "line": 216
2026-06-17T00:59:16.1644624Z             },
2026-06-17T00:59:16.1644723Z             {
2026-06-17T00:59:16.1644881Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T00:59:16.1644995Z               "line": 137
2026-06-17T00:59:16.1645100Z             },
2026-06-17T00:59:16.1645286Z             {
2026-06-17T00:59:16.1645419Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1645530Z               "line": 7455
2026-06-17T00:59:16.1645634Z             },
2026-06-17T00:59:16.1645739Z             {
2026-06-17T00:59:16.1645883Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-17T00:59:16.1645996Z               "line": 30
2026-06-17T00:59:16.1646096Z             },
2026-06-17T00:59:16.1646202Z             {
2026-06-17T00:59:16.1646339Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-17T00:59:16.1646441Z               "line": 73
2026-06-17T00:59:16.1646634Z             }
2026-06-17T00:59:16.1646739Z           ]
2026-06-17T00:59:16.1646844Z         }
2026-06-17T00:59:16.1646945Z       }
2026-06-17T00:59:16.1647044Z     },
2026-06-17T00:59:16.1647131Z     {
2026-06-17T00:59:16.1647250Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-17T00:59:16.1647546Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-17T00:59:16.1647664Z       "requiredStages": [
2026-06-17T00:59:16.1647765Z         "impl",
2026-06-17T00:59:16.1647865Z         "unit"
2026-06-17T00:59:16.1647969Z       ],
2026-06-17T00:59:16.1648070Z       "stages": {
2026-06-17T00:59:16.1648175Z         "doc": {
2026-06-17T00:59:16.1648279Z           "complete": true,
2026-06-17T00:59:16.1648395Z           "evidence": [
2026-06-17T00:59:16.1648495Z             {
2026-06-17T00:59:16.1648627Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1648743Z               "line": 133
2026-06-17T00:59:16.1648842Z             }
2026-06-17T00:59:16.1649012Z           ]
2026-06-17T00:59:16.1649113Z         },
2026-06-17T00:59:16.1649215Z         "impl": {
2026-06-17T00:59:16.1649334Z           "complete": true,
2026-06-17T00:59:16.1649440Z           "evidence": [
2026-06-17T00:59:16.1649544Z             {
2026-06-17T00:59:16.1649688Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.1649802Z               "line": 65
2026-06-17T00:59:16.1649896Z             },
2026-06-17T00:59:16.1650003Z             {
2026-06-17T00:59:16.1650131Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1650240Z               "line": 17
2026-06-17T00:59:16.1650336Z             },
2026-06-17T00:59:16.1650441Z             {
2026-06-17T00:59:16.1650589Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1650689Z               "line": 146
2026-06-17T00:59:16.1650794Z             },
2026-06-17T00:59:16.1650898Z             {
2026-06-17T00:59:16.1651042Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1651151Z               "line": 241
2026-06-17T00:59:16.1651247Z             },
2026-06-17T00:59:16.1651348Z             {
2026-06-17T00:59:16.1651485Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1651591Z               "line": 340
2026-06-17T00:59:16.1651686Z             },
2026-06-17T00:59:16.1651789Z             {
2026-06-17T00:59:16.1651932Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.1652041Z               "line": 32
2026-06-17T00:59:16.1652144Z             },
2026-06-17T00:59:16.1652245Z             {
2026-06-17T00:59:16.1652374Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1652483Z               "line": 1232
2026-06-17T00:59:16.1652574Z             },
2026-06-17T00:59:16.1652674Z             {
2026-06-17T00:59:16.1652792Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1652908Z               "line": 5833
2026-06-17T00:59:16.1653008Z             },
2026-06-17T00:59:16.1653112Z             {
2026-06-17T00:59:16.1653237Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1653341Z               "line": 6115
2026-06-17T00:59:16.1653446Z             }
2026-06-17T00:59:16.1653543Z           ]
2026-06-17T00:59:16.1653646Z         },
2026-06-17T00:59:16.1653746Z         "int": {
2026-06-17T00:59:16.1653867Z           "complete": false,
2026-06-17T00:59:16.1654076Z           "evidence": []
2026-06-17T00:59:16.1654167Z         },
2026-06-17T00:59:16.1654271Z         "unit": {
2026-06-17T00:59:16.1654380Z           "complete": true,
2026-06-17T00:59:16.1654494Z           "evidence": [
2026-06-17T00:59:16.1654597Z             {
2026-06-17T00:59:16.1654739Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1654845Z               "line": 94
2026-06-17T00:59:16.1654950Z             },
2026-06-17T00:59:16.1655054Z             {
2026-06-17T00:59:16.1655188Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1655297Z               "line": 111
2026-06-17T00:59:16.1655494Z             },
2026-06-17T00:59:16.1655589Z             {
2026-06-17T00:59:16.1655732Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1655832Z               "line": 124
2026-06-17T00:59:16.1655932Z             },
2026-06-17T00:59:16.1656036Z             {
2026-06-17T00:59:16.1656175Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1656294Z               "line": 134
2026-06-17T00:59:16.1656400Z             },
2026-06-17T00:59:16.1656499Z             {
2026-06-17T00:59:16.1656628Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1656739Z               "line": 144
2026-06-17T00:59:16.1656837Z             },
2026-06-17T00:59:16.1656943Z             {
2026-06-17T00:59:16.1657078Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T00:59:16.1657180Z               "line": 156
2026-06-17T00:59:16.1657289Z             },
2026-06-17T00:59:16.1657386Z             {
2026-06-17T00:59:16.1657543Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1657647Z               "line": 746
2026-06-17T00:59:16.1657758Z             },
2026-06-17T00:59:16.1657852Z             {
2026-06-17T00:59:16.1658006Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.1658120Z               "line": 309
2026-06-17T00:59:16.1658219Z             }
2026-06-17T00:59:16.1658320Z           ]
2026-06-17T00:59:16.1658420Z         }
2026-06-17T00:59:16.1658520Z       }
2026-06-17T00:59:16.1658620Z     },
2026-06-17T00:59:16.1658721Z     {
2026-06-17T00:59:16.1658859Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-17T00:59:16.1659101Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-17T00:59:16.1659226Z       "requiredStages": [
2026-06-17T00:59:16.1659327Z         "impl",
2026-06-17T00:59:16.1659430Z         "unit"
2026-06-17T00:59:16.1659530Z       ],
2026-06-17T00:59:16.1659635Z       "stages": {
2026-06-17T00:59:16.1659733Z         "doc": {
2026-06-17T00:59:16.1659842Z           "complete": false,
2026-06-17T00:59:16.1659956Z           "evidence": []
2026-06-17T00:59:16.1660048Z         },
2026-06-17T00:59:16.1660151Z         "impl": {
2026-06-17T00:59:16.1660257Z           "complete": true,
2026-06-17T00:59:16.1660357Z           "evidence": [
2026-06-17T00:59:16.1660466Z             {
2026-06-17T00:59:16.1660606Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.1660729Z               "line": 128
2026-06-17T00:59:16.1660829Z             }
2026-06-17T00:59:16.1660935Z           ]
2026-06-17T00:59:16.1661039Z         },
2026-06-17T00:59:16.1661134Z         "int": {
2026-06-17T00:59:16.1661254Z           "complete": false,
2026-06-17T00:59:16.1661364Z           "evidence": []
2026-06-17T00:59:16.1661463Z         },
2026-06-17T00:59:16.1661569Z         "unit": {
2026-06-17T00:59:16.1661682Z           "complete": true,
2026-06-17T00:59:16.1661798Z           "evidence": [
2026-06-17T00:59:16.1661908Z             {
2026-06-17T00:59:16.1662059Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.1662166Z               "line": 205
2026-06-17T00:59:16.1662270Z             }
2026-06-17T00:59:16.1662368Z           ]
2026-06-17T00:59:16.1662473Z         }
2026-06-17T00:59:16.1662573Z       }
2026-06-17T00:59:16.1662661Z     },
2026-06-17T00:59:16.1662766Z     {
2026-06-17T00:59:16.1662905Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-17T00:59:16.1663182Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-17T00:59:16.1663296Z       "requiredStages": [
2026-06-17T00:59:16.1663391Z         "impl",
2026-06-17T00:59:16.1663497Z         "unit"
2026-06-17T00:59:16.1663597Z       ],
2026-06-17T00:59:16.1663701Z       "stages": {
2026-06-17T00:59:16.1663797Z         "doc": {
2026-06-17T00:59:16.1663906Z           "complete": false,
2026-06-17T00:59:16.1664001Z           "evidence": []
2026-06-17T00:59:16.1664103Z         },
2026-06-17T00:59:16.1664201Z         "impl": {
2026-06-17T00:59:16.1664436Z           "complete": true,
2026-06-17T00:59:16.1664540Z           "evidence": [
2026-06-17T00:59:16.1664640Z             {
2026-06-17T00:59:16.1664785Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1664888Z               "line": 331
2026-06-17T00:59:16.1664996Z             },
2026-06-17T00:59:16.1665097Z             {
2026-06-17T00:59:16.1665233Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1665352Z               "line": 342
2026-06-17T00:59:16.1665453Z             },
2026-06-17T00:59:16.1665557Z             {
2026-06-17T00:59:16.1665686Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1665796Z               "line": 360
2026-06-17T00:59:16.1665900Z             }
2026-06-17T00:59:16.1666001Z           ]
2026-06-17T00:59:16.1666101Z         },
2026-06-17T00:59:16.1666205Z         "int": {
2026-06-17T00:59:16.1666321Z           "complete": false,
2026-06-17T00:59:16.1666416Z           "evidence": []
2026-06-17T00:59:16.1666525Z         },
2026-06-17T00:59:16.1666635Z         "unit": {
2026-06-17T00:59:16.1666740Z           "complete": true,
2026-06-17T00:59:16.1666849Z           "evidence": [
2026-06-17T00:59:16.1666946Z             {
2026-06-17T00:59:16.1667083Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1667188Z               "line": 384
2026-06-17T00:59:16.1667289Z             },
2026-06-17T00:59:16.1667402Z             {
2026-06-17T00:59:16.1667536Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1667643Z               "line": 405
2026-06-17T00:59:16.1667731Z             },
2026-06-17T00:59:16.1667830Z             {
2026-06-17T00:59:16.1667960Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1668079Z               "line": 754
2026-06-17T00:59:16.1668183Z             },
2026-06-17T00:59:16.1668284Z             {
2026-06-17T00:59:16.1668426Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1668527Z               "line": 765
2026-06-17T00:59:16.1668628Z             },
2026-06-17T00:59:16.1668727Z             {
2026-06-17T00:59:16.1668861Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1669047Z               "line": 778
2026-06-17T00:59:16.1669146Z             }
2026-06-17T00:59:16.1669248Z           ]
2026-06-17T00:59:16.1669342Z         }
2026-06-17T00:59:16.1669447Z       }
2026-06-17T00:59:16.1669553Z     },
2026-06-17T00:59:16.1669652Z     {
2026-06-17T00:59:16.1669791Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-17T00:59:16.1670430Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-17T00:59:16.1670556Z       "requiredStages": [
2026-06-17T00:59:16.1670660Z         "impl",
2026-06-17T00:59:16.1670760Z         "unit"
2026-06-17T00:59:16.1670861Z       ],
2026-06-17T00:59:16.1670965Z       "stages": {
2026-06-17T00:59:16.1671074Z         "doc": {
2026-06-17T00:59:16.1671185Z           "complete": false,
2026-06-17T00:59:16.1671289Z           "evidence": []
2026-06-17T00:59:16.1671384Z         },
2026-06-17T00:59:16.1671485Z         "impl": {
2026-06-17T00:59:16.1671590Z           "complete": true,
2026-06-17T00:59:16.1671699Z           "evidence": [
2026-06-17T00:59:16.1671800Z             {
2026-06-17T00:59:16.1672052Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1672158Z               "line": 759
2026-06-17T00:59:16.1672257Z             }
2026-06-17T00:59:16.1672353Z           ]
2026-06-17T00:59:16.1672458Z         },
2026-06-17T00:59:16.1672548Z         "int": {
2026-06-17T00:59:16.1672668Z           "complete": false,
2026-06-17T00:59:16.1672773Z           "evidence": []
2026-06-17T00:59:16.1675383Z         },
2026-06-17T00:59:16.1675510Z         "unit": {
2026-06-17T00:59:16.1675633Z           "complete": true,
2026-06-17T00:59:16.1675755Z           "evidence": [
2026-06-17T00:59:16.1676018Z             {
2026-06-17T00:59:16.1676179Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1676290Z               "line": 873
2026-06-17T00:59:16.1676395Z             }
2026-06-17T00:59:16.1676494Z           ]
2026-06-17T00:59:16.1676605Z         }
2026-06-17T00:59:16.1676705Z       }
2026-06-17T00:59:16.1676789Z     },
2026-06-17T00:59:16.1676891Z     {
2026-06-17T00:59:16.1677023Z       "id": "REQ-HAZARD-LIVEHOST-BOOT-RACE",
2026-06-17T00:59:16.1680774Z       "title": "The brain's daemon-hosted Psyche lifecycle surfaces a host-FAILURE on the live perch (harness-diagnosable) and runs net-INDEPENDENTLY. When reconcile_once→host_one→spawn_psyche fails for a state=live_agent+status=online endpoint (e.g. the adapter's psyche binary absent from its install dir, REQ-INSTALL-11), the failure MUST be written to the perch info.json as a CURRENT-STATE field (reason + ts + attempt count; overwritten each 5s retry, CLEARED on successful host) and surfaced by `spt endpoint list`/status — never left as an eprintln on the brain's invisible stderr where a harness reading only perch state is blind. status=online stays authoritative (agent reachable; only the Psyche is missing — brain-restart rehydrate legitimately has online-without-Psyche windows), so this is a SEPARATE psyche-host-health field, never a status de-stamp. Net-independence is a locked-in invariant: spawn_live_host (brainproc.rs:230) reaches the reconcile and hosts the Psyche on a net-less/unpaired/peer-pump-STALLED node, proven by a REAL detached-daemon E2E (real broker→brain-child, real api seed+listen, real install-dir psyche binary). spt-core SURFACES the failure; the adapter owns fixing its packaging.",
2026-06-17T00:59:16.1680938Z       "requiredStages": [
2026-06-17T00:59:16.1681039Z         "impl",
2026-06-17T00:59:16.1681135Z         "unit",
2026-06-17T00:59:16.1681239Z         "int"
2026-06-17T00:59:16.1681339Z       ],
2026-06-17T00:59:16.1681440Z       "stages": {
2026-06-17T00:59:16.1681544Z         "doc": {
2026-06-17T00:59:16.1681668Z           "complete": false,
2026-06-17T00:59:16.1681769Z           "evidence": []
2026-06-17T00:59:16.1681878Z         },
2026-06-17T00:59:16.1681988Z         "impl": {
2026-06-17T00:59:16.1682102Z           "complete": true,
2026-06-17T00:59:16.1682211Z           "evidence": [
2026-06-17T00:59:16.1682312Z             {
2026-06-17T00:59:16.1682469Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1682588Z               "line": 351
2026-06-17T00:59:16.1682689Z             },
2026-06-17T00:59:16.1682784Z             {
2026-06-17T00:59:16.1682923Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1683028Z               "line": 307
2026-06-17T00:59:16.1683132Z             },
2026-06-17T00:59:16.1683233Z             {
2026-06-17T00:59:16.1683357Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1683465Z               "line": 1605
2026-06-17T00:59:16.1683565Z             },
2026-06-17T00:59:16.1683665Z             {
2026-06-17T00:59:16.1683805Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1683911Z               "line": 2915
2026-06-17T00:59:16.1684012Z             }
2026-06-17T00:59:16.1684111Z           ]
2026-06-17T00:59:16.1684211Z         },
2026-06-17T00:59:16.1684317Z         "int": {
2026-06-17T00:59:16.1684421Z           "complete": true,
2026-06-17T00:59:16.1684655Z           "evidence": [
2026-06-17T00:59:16.1684754Z             {
2026-06-17T00:59:16.1684922Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T00:59:16.1685026Z               "line": 353
2026-06-17T00:59:16.1685131Z             },
2026-06-17T00:59:16.1685227Z             {
2026-06-17T00:59:16.1685394Z               "path": "crates/spt/tests/livehost_psyche_fail_e2e.rs",
2026-06-17T00:59:16.1685509Z               "line": 23
2026-06-17T00:59:16.1685609Z             }
2026-06-17T00:59:16.1685708Z           ]
2026-06-17T00:59:16.1685814Z         },
2026-06-17T00:59:16.1685914Z         "unit": {
2026-06-17T00:59:16.1686146Z           "complete": true,
2026-06-17T00:59:16.1686250Z           "evidence": [
2026-06-17T00:59:16.1686348Z             {
2026-06-17T00:59:16.1686487Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.1686598Z               "line": 686
2026-06-17T00:59:16.1686706Z             },
2026-06-17T00:59:16.1686807Z             {
2026-06-17T00:59:16.1686946Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1687049Z               "line": 7194
2026-06-17T00:59:16.1687155Z             }
2026-06-17T00:59:16.1687250Z           ]
2026-06-17T00:59:16.1687354Z         }
2026-06-17T00:59:16.1687455Z       }
2026-06-17T00:59:16.1687560Z     },
2026-06-17T00:59:16.1687659Z     {
2026-06-17T00:59:16.1687794Z       "id": "REQ-HAZARD-LIVEHOST-NONRESIDENT",
2026-06-17T00:59:16.1691215Z       "title": "A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, surfaced like a spawn failure (closes the v0.8.1 residual masking): the REQ-HAZARD-LIVEHOST-BOOT-RACE signal stamps `psyche_host_error` only when `spawn_psyche` returns Err, NOT when the detached spawn() returns Ok but the child dies within moments (e.g. a bad-argv child exiting 2 — the F-009 case). That leaves the residual 'online + no Psyche + no cause' gap: the nested `{id}-psyche` info.json is written status=online with a real-but-DEAD pid and the PARENT perch carries NO psyche_host_error (perri's F-010: tasklist showed 0 host procs across the window while info.json read online). The host MUST confirm RESIDENCY — a hosted child not alive (or whose `{id}-psyche` perch never re-registers / has a dead pid) within N seconds of spawn is treated as a host failure: stamp the parent perch `psyche_host_error{reason:\"host not resident within <n>s (psyche perch missing/dead pid)\"}` (and do not leave a phantom online nested perch). Closes the last masking gap the v0.8.1 fix left open. perri's F-010 (v0.8.1 dogfood). Sibling of REQ-HAZARD-LIVEHOST-BOOT-RACE.",
2026-06-17T00:59:16.1691348Z       "requiredStages": [
2026-06-17T00:59:16.1691456Z         "impl",
2026-06-17T00:59:16.1691555Z         "unit",
2026-06-17T00:59:16.1691652Z         "int"
2026-06-17T00:59:16.1691756Z       ],
2026-06-17T00:59:16.1691860Z       "stages": {
2026-06-17T00:59:16.1691967Z         "doc": {
2026-06-17T00:59:16.1692085Z           "complete": false,
2026-06-17T00:59:16.1692194Z           "evidence": []
2026-06-17T00:59:16.1692305Z         },
2026-06-17T00:59:16.1692404Z         "impl": {
2026-06-17T00:59:16.1692509Z           "complete": true,
2026-06-17T00:59:16.1692620Z           "evidence": [
2026-06-17T00:59:16.1692719Z             {
2026-06-17T00:59:16.1692872Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1692981Z               "line": 63
2026-06-17T00:59:16.1693086Z             },
2026-06-17T00:59:16.1693192Z             {
2026-06-17T00:59:16.1693339Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1693444Z               "line": 77
2026-06-17T00:59:16.1693551Z             },
2026-06-17T00:59:16.1693649Z             {
2026-06-17T00:59:16.1693793Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1693903Z               "line": 164
2026-06-17T00:59:16.1694002Z             },
2026-06-17T00:59:16.1694105Z             {
2026-06-17T00:59:16.1694248Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1694456Z               "line": 171
2026-06-17T00:59:16.1694557Z             },
2026-06-17T00:59:16.1694662Z             {
2026-06-17T00:59:16.1694810Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1694915Z               "line": 181
2026-06-17T00:59:16.1695009Z             },
2026-06-17T00:59:16.1695100Z             {
2026-06-17T00:59:16.1695239Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1695352Z               "line": 257
2026-06-17T00:59:16.1695454Z             },
2026-06-17T00:59:16.1695548Z             {
2026-06-17T00:59:16.1695696Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1695911Z               "line": 271
2026-06-17T00:59:16.1696011Z             },
2026-06-17T00:59:16.1696112Z             {
2026-06-17T00:59:16.1696249Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1696365Z               "line": 340
2026-06-17T00:59:16.1696465Z             },
2026-06-17T00:59:16.1696573Z             {
2026-06-17T00:59:16.1696715Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1696824Z               "line": 394
2026-06-17T00:59:16.1696923Z             },
2026-06-17T00:59:16.1697028Z             {
2026-06-17T00:59:16.1697172Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1697270Z               "line": 414
2026-06-17T00:59:16.1697377Z             }
2026-06-17T00:59:16.1697476Z           ]
2026-06-17T00:59:16.1697580Z         },
2026-06-17T00:59:16.1697682Z         "int": {
2026-06-17T00:59:16.1697796Z           "complete": true,
2026-06-17T00:59:16.1697914Z           "evidence": [
2026-06-17T00:59:16.1698016Z             {
2026-06-17T00:59:16.1698178Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T00:59:16.1698273Z               "line": 45
2026-06-17T00:59:16.1698374Z             },
2026-06-17T00:59:16.1698463Z             {
2026-06-17T00:59:16.1698631Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T00:59:16.1698745Z               "line": 354
2026-06-17T00:59:16.1698845Z             },
2026-06-17T00:59:16.1699036Z             {
2026-06-17T00:59:16.1699202Z               "path": "crates/spt/tests/livehost_nonresident_e2e.rs",
2026-06-17T00:59:16.1699318Z               "line": 31
2026-06-17T00:59:16.1699426Z             }
2026-06-17T00:59:16.1699525Z           ]
2026-06-17T00:59:16.1699621Z         },
2026-06-17T00:59:16.1699722Z         "unit": {
2026-06-17T00:59:16.1699845Z           "complete": true,
2026-06-17T00:59:16.1699945Z           "evidence": [
2026-06-17T00:59:16.1700046Z             {
2026-06-17T00:59:16.1700188Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.1700289Z               "line": 476
2026-06-17T00:59:16.1700394Z             }
2026-06-17T00:59:16.1700488Z           ]
2026-06-17T00:59:16.1700594Z         }
2026-06-17T00:59:16.1700693Z       }
2026-06-17T00:59:16.1700793Z     },
2026-06-17T00:59:16.1700895Z     {
2026-06-17T00:59:16.1701027Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-17T00:59:16.1701276Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-17T00:59:16.1701390Z       "requiredStages": [
2026-06-17T00:59:16.1701500Z         "impl",
2026-06-17T00:59:16.1701596Z         "unit"
2026-06-17T00:59:16.1701699Z       ],
2026-06-17T00:59:16.1701808Z       "stages": {
2026-06-17T00:59:16.1701909Z         "doc": {
2026-06-17T00:59:16.1702030Z           "complete": false,
2026-06-17T00:59:16.1702135Z           "evidence": []
2026-06-17T00:59:16.1702236Z         },
2026-06-17T00:59:16.1702330Z         "impl": {
2026-06-17T00:59:16.1702450Z           "complete": true,
2026-06-17T00:59:16.1702560Z           "evidence": [
2026-06-17T00:59:16.1702664Z             {
2026-06-17T00:59:16.1702803Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1702908Z               "line": 14
2026-06-17T00:59:16.1703012Z             },
2026-06-17T00:59:16.1703218Z             {
2026-06-17T00:59:16.1703360Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.1703462Z               "line": 543
2026-06-17T00:59:16.1703561Z             }
2026-06-17T00:59:16.1703656Z           ]
2026-06-17T00:59:16.1703757Z         },
2026-06-17T00:59:16.1703856Z         "int": {
2026-06-17T00:59:16.1703971Z           "complete": false,
2026-06-17T00:59:16.1704086Z           "evidence": []
2026-06-17T00:59:16.1704176Z         },
2026-06-17T00:59:16.1704281Z         "unit": {
2026-06-17T00:59:16.1704396Z           "complete": true,
2026-06-17T00:59:16.1704496Z           "evidence": [
2026-06-17T00:59:16.1704695Z             {
2026-06-17T00:59:16.1704818Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1704926Z               "line": 130
2026-06-17T00:59:16.1705021Z             },
2026-06-17T00:59:16.1705117Z             {
2026-06-17T00:59:16.1705264Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1705370Z               "line": 138
2026-06-17T00:59:16.1705480Z             },
2026-06-17T00:59:16.1705589Z             {
2026-06-17T00:59:16.1705723Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1705823Z               "line": 146
2026-06-17T00:59:16.1705922Z             },
2026-06-17T00:59:16.1706029Z             {
2026-06-17T00:59:16.1706147Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1706261Z               "line": 154
2026-06-17T00:59:16.1706348Z             },
2026-06-17T00:59:16.1706457Z             {
2026-06-17T00:59:16.1706580Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1706686Z               "line": 162
2026-06-17T00:59:16.1706785Z             },
2026-06-17T00:59:16.1706876Z             {
2026-06-17T00:59:16.1707006Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T00:59:16.1707114Z               "line": 170
2026-06-17T00:59:16.1707218Z             }
2026-06-17T00:59:16.1707319Z           ]
2026-06-17T00:59:16.1707422Z         }
2026-06-17T00:59:16.1707525Z       }
2026-06-17T00:59:16.1707622Z     },
2026-06-17T00:59:16.1707727Z     {
2026-06-17T00:59:16.1707850Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-17T00:59:16.1708780Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-17T00:59:16.1708900Z       "requiredStages": [
2026-06-17T00:59:16.1709090Z         "impl",
2026-06-17T00:59:16.1709206Z         "unit"
2026-06-17T00:59:16.1709305Z       ],
2026-06-17T00:59:16.1709428Z       "stages": {
2026-06-17T00:59:16.1709535Z         "doc": {
2026-06-17T00:59:16.1709648Z           "complete": false,
2026-06-17T00:59:16.1709753Z           "evidence": []
2026-06-17T00:59:16.1709850Z         },
2026-06-17T00:59:16.1709958Z         "impl": {
2026-06-17T00:59:16.1710071Z           "complete": true,
2026-06-17T00:59:16.1710186Z           "evidence": [
2026-06-17T00:59:16.1710287Z             {
2026-06-17T00:59:16.1710462Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1710577Z               "line": 34
2026-06-17T00:59:16.1710681Z             }
2026-06-17T00:59:16.1710782Z           ]
2026-06-17T00:59:16.1710873Z         },
2026-06-17T00:59:16.1710978Z         "int": {
2026-06-17T00:59:16.1711096Z           "complete": false,
2026-06-17T00:59:16.1711202Z           "evidence": []
2026-06-17T00:59:16.1711302Z         },
2026-06-17T00:59:16.1711402Z         "unit": {
2026-06-17T00:59:16.1711522Z           "complete": true,
2026-06-17T00:59:16.1711626Z           "evidence": [
2026-06-17T00:59:16.1711726Z             {
2026-06-17T00:59:16.1711897Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1712007Z               "line": 188
2026-06-17T00:59:16.1712104Z             },
2026-06-17T00:59:16.1712198Z             {
2026-06-17T00:59:16.1712483Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1712590Z               "line": 200
2026-06-17T00:59:16.1712695Z             },
2026-06-17T00:59:16.1712801Z             {
2026-06-17T00:59:16.1712967Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1713082Z               "line": 211
2026-06-17T00:59:16.1713182Z             },
2026-06-17T00:59:16.1713286Z             {
2026-06-17T00:59:16.1713435Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1713544Z               "line": 253
2026-06-17T00:59:16.1713745Z             },
2026-06-17T00:59:16.1713845Z             {
2026-06-17T00:59:16.1714012Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1714116Z               "line": 277
2026-06-17T00:59:16.1714221Z             },
2026-06-17T00:59:16.1714322Z             {
2026-06-17T00:59:16.1714483Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1714603Z               "line": 300
2026-06-17T00:59:16.1714699Z             },
2026-06-17T00:59:16.1714797Z             {
2026-06-17T00:59:16.1714956Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T00:59:16.1715065Z               "line": 316
2026-06-17T00:59:16.1715164Z             }
2026-06-17T00:59:16.1715274Z           ]
2026-06-17T00:59:16.1715373Z         }
2026-06-17T00:59:16.1715472Z       }
2026-06-17T00:59:16.1715577Z     },
2026-06-17T00:59:16.1715673Z     {
2026-06-17T00:59:16.1715815Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-17T00:59:16.1716392Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-17T00:59:16.1716501Z       "requiredStages": [
2026-06-17T00:59:16.1716603Z         "impl",
2026-06-17T00:59:16.1716702Z         "unit"
2026-06-17T00:59:16.1716802Z       ],
2026-06-17T00:59:16.1716904Z       "stages": {
2026-06-17T00:59:16.1717012Z         "doc": {
2026-06-17T00:59:16.1717126Z           "complete": false,
2026-06-17T00:59:16.1717228Z           "evidence": []
2026-06-17T00:59:16.1717336Z         },
2026-06-17T00:59:16.1717441Z         "impl": {
2026-06-17T00:59:16.1717562Z           "complete": true,
2026-06-17T00:59:16.1717660Z           "evidence": [
2026-06-17T00:59:16.1717759Z             {
2026-06-17T00:59:16.1717902Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1718005Z               "line": 29
2026-06-17T00:59:16.1718119Z             },
2026-06-17T00:59:16.1718220Z             {
2026-06-17T00:59:16.1718363Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1718472Z               "line": 174
2026-06-17T00:59:16.1718592Z             },
2026-06-17T00:59:16.1718739Z             {
2026-06-17T00:59:16.1718878Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1719083Z               "line": 194
2026-06-17T00:59:16.1719174Z             },
2026-06-17T00:59:16.1719283Z             {
2026-06-17T00:59:16.1719417Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1719541Z               "line": 222
2026-06-17T00:59:16.1719641Z             }
2026-06-17T00:59:16.1719736Z           ]
2026-06-17T00:59:16.1719841Z         },
2026-06-17T00:59:16.1719941Z         "int": {
2026-06-17T00:59:16.1720061Z           "complete": false,
2026-06-17T00:59:16.1720175Z           "evidence": []
2026-06-17T00:59:16.1720285Z         },
2026-06-17T00:59:16.1720390Z         "unit": {
2026-06-17T00:59:16.1720495Z           "complete": true,
2026-06-17T00:59:16.1720598Z           "evidence": [
2026-06-17T00:59:16.1720693Z             {
2026-06-17T00:59:16.1720838Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1720950Z               "line": 329
2026-06-17T00:59:16.1721052Z             },
2026-06-17T00:59:16.1721166Z             {
2026-06-17T00:59:16.1721414Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1721519Z               "line": 344
2026-06-17T00:59:16.1721623Z             },
2026-06-17T00:59:16.1721724Z             {
2026-06-17T00:59:16.1721871Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1721986Z               "line": 417
2026-06-17T00:59:16.1722082Z             },
2026-06-17T00:59:16.1722182Z             {
2026-06-17T00:59:16.1722321Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1722425Z               "line": 433
2026-06-17T00:59:16.1722630Z             },
2026-06-17T00:59:16.1722730Z             {
2026-06-17T00:59:16.1722872Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1722986Z               "line": 492
2026-06-17T00:59:16.1723080Z             },
2026-06-17T00:59:16.1723184Z             {
2026-06-17T00:59:16.1723322Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1723437Z               "line": 506
2026-06-17T00:59:16.1723541Z             },
2026-06-17T00:59:16.1723647Z             {
2026-06-17T00:59:16.1723789Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1723894Z               "line": 517
2026-06-17T00:59:16.1723995Z             },
2026-06-17T00:59:16.1724099Z             {
2026-06-17T00:59:16.1724229Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.1724334Z               "line": 528
2026-06-17T00:59:16.1724433Z             }
2026-06-17T00:59:16.1724538Z           ]
2026-06-17T00:59:16.1724634Z         }
2026-06-17T00:59:16.1724739Z       }
2026-06-17T00:59:16.1724834Z     },
2026-06-17T00:59:16.1724940Z     {
2026-06-17T00:59:16.1725086Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-17T00:59:16.1725786Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-17T00:59:16.1725906Z       "requiredStages": [
2026-06-17T00:59:16.1726008Z         "impl",
2026-06-17T00:59:16.1726117Z         "unit"
2026-06-17T00:59:16.1726219Z       ],
2026-06-17T00:59:16.1726327Z       "stages": {
2026-06-17T00:59:16.1726437Z         "doc": {
2026-06-17T00:59:16.1726547Z           "complete": false,
2026-06-17T00:59:16.1726652Z           "evidence": []
2026-06-17T00:59:16.1726756Z         },
2026-06-17T00:59:16.1726858Z         "impl": {
2026-06-17T00:59:16.1726971Z           "complete": true,
2026-06-17T00:59:16.1727086Z           "evidence": [
2026-06-17T00:59:16.1727196Z             {
2026-06-17T00:59:16.1727353Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1727468Z               "line": 27
2026-06-17T00:59:16.1727572Z             },
2026-06-17T00:59:16.1727672Z             {
2026-06-17T00:59:16.1727826Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1727987Z               "line": 110
2026-06-17T00:59:16.1728112Z             },
2026-06-17T00:59:16.1728211Z             {
2026-06-17T00:59:16.1728367Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1728472Z               "line": 153
2026-06-17T00:59:16.1728575Z             },
2026-06-17T00:59:16.1728679Z             {
2026-06-17T00:59:16.1728829Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1729018Z               "line": 182
2026-06-17T00:59:16.1729124Z             },
2026-06-17T00:59:16.1729223Z             {
2026-06-17T00:59:16.1729387Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1729500Z               "line": 31
2026-06-17T00:59:16.1729600Z             },
2026-06-17T00:59:16.1729701Z             {
2026-06-17T00:59:16.1729867Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1729972Z               "line": 113
2026-06-17T00:59:16.1730072Z             },
2026-06-17T00:59:16.1730267Z             {
2026-06-17T00:59:16.1730434Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1730539Z               "line": 138
2026-06-17T00:59:16.1730636Z             }
2026-06-17T00:59:16.1730740Z           ]
2026-06-17T00:59:16.1730840Z         },
2026-06-17T00:59:16.1730946Z         "int": {
2026-06-17T00:59:16.1731055Z           "complete": false,
2026-06-17T00:59:16.1731158Z           "evidence": []
2026-06-17T00:59:16.1731263Z         },
2026-06-17T00:59:16.1731364Z         "unit": {
2026-06-17T00:59:16.1731487Z           "complete": true,
2026-06-17T00:59:16.1731693Z           "evidence": [
2026-06-17T00:59:16.1731797Z             {
2026-06-17T00:59:16.1731946Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1732065Z               "line": 261
2026-06-17T00:59:16.1732168Z             },
2026-06-17T00:59:16.1732270Z             {
2026-06-17T00:59:16.1732436Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1732541Z               "line": 276
2026-06-17T00:59:16.1732637Z             },
2026-06-17T00:59:16.1732742Z             {
2026-06-17T00:59:16.1732891Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1733008Z               "line": 293
2026-06-17T00:59:16.1733108Z             },
2026-06-17T00:59:16.1733205Z             {
2026-06-17T00:59:16.1733361Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1733465Z               "line": 310
2026-06-17T00:59:16.1733570Z             },
2026-06-17T00:59:16.1733673Z             {
2026-06-17T00:59:16.1733835Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1733935Z               "line": 327
2026-06-17T00:59:16.1734039Z             },
2026-06-17T00:59:16.1734144Z             {
2026-06-17T00:59:16.1734298Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.1734401Z               "line": 366
2026-06-17T00:59:16.1734508Z             },
2026-06-17T00:59:16.1734602Z             {
2026-06-17T00:59:16.1734760Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1734870Z               "line": 179
2026-06-17T00:59:16.1734974Z             },
2026-06-17T00:59:16.1735070Z             {
2026-06-17T00:59:16.1735232Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1735332Z               "line": 194
2026-06-17T00:59:16.1735452Z             },
2026-06-17T00:59:16.1735551Z             {
2026-06-17T00:59:16.1735718Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1735829Z               "line": 204
2026-06-17T00:59:16.1735932Z             },
2026-06-17T00:59:16.1736043Z             {
2026-06-17T00:59:16.1736205Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1736322Z               "line": 259
2026-06-17T00:59:16.1736422Z             },
2026-06-17T00:59:16.1736522Z             {
2026-06-17T00:59:16.1736677Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1736793Z               "line": 269
2026-06-17T00:59:16.1736897Z             },
2026-06-17T00:59:16.1737001Z             {
2026-06-17T00:59:16.1737170Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.1737278Z               "line": 283
2026-06-17T00:59:16.1737380Z             }
2026-06-17T00:59:16.1737484Z           ]
2026-06-17T00:59:16.1737583Z         }
2026-06-17T00:59:16.1737685Z       }
2026-06-17T00:59:16.1737793Z     },
2026-06-17T00:59:16.1737898Z     {
2026-06-17T00:59:16.1738033Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-17T00:59:16.1738247Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-17T00:59:16.1738367Z       "requiredStages": [],
2026-06-17T00:59:16.1738475Z       "stages": {
2026-06-17T00:59:16.1738581Z         "doc": {
2026-06-17T00:59:16.1738682Z           "complete": false,
2026-06-17T00:59:16.1738870Z           "evidence": []
2026-06-17T00:59:16.1739060Z         },
2026-06-17T00:59:16.1739164Z         "impl": {
2026-06-17T00:59:16.1739269Z           "complete": false,
2026-06-17T00:59:16.1739379Z           "evidence": []
2026-06-17T00:59:16.1739487Z         },
2026-06-17T00:59:16.1739588Z         "int": {
2026-06-17T00:59:16.1739703Z           "complete": false,
2026-06-17T00:59:16.1739807Z           "evidence": []
2026-06-17T00:59:16.1739912Z         },
2026-06-17T00:59:16.1740012Z         "unit": {
2026-06-17T00:59:16.1740126Z           "complete": false,
2026-06-17T00:59:16.1740341Z           "evidence": []
2026-06-17T00:59:16.1740441Z         }
2026-06-17T00:59:16.1740542Z       }
2026-06-17T00:59:16.1740642Z     },
2026-06-17T00:59:16.1740737Z     {
2026-06-17T00:59:16.1740886Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-17T00:59:16.1741751Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-17T00:59:16.1741876Z       "requiredStages": [
2026-06-17T00:59:16.1741981Z         "impl",
2026-06-17T00:59:16.1742080Z         "unit"
2026-06-17T00:59:16.1742181Z       ],
2026-06-17T00:59:16.1742286Z       "stages": {
2026-06-17T00:59:16.1742390Z         "doc": {
2026-06-17T00:59:16.1742506Z           "complete": false,
2026-06-17T00:59:16.1742625Z           "evidence": []
2026-06-17T00:59:16.1742724Z         },
2026-06-17T00:59:16.1742831Z         "impl": {
2026-06-17T00:59:16.1742949Z           "complete": true,
2026-06-17T00:59:16.1743053Z           "evidence": [
2026-06-17T00:59:16.1743145Z             {
2026-06-17T00:59:16.1743292Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1743402Z               "line": 26
2026-06-17T00:59:16.1743498Z             },
2026-06-17T00:59:16.1743602Z             {
2026-06-17T00:59:16.1743755Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1743869Z               "line": 95
2026-06-17T00:59:16.1743972Z             },
2026-06-17T00:59:16.1744077Z             {
2026-06-17T00:59:16.1744224Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1744327Z               "line": 166
2026-06-17T00:59:16.1744428Z             },
2026-06-17T00:59:16.1744529Z             {
2026-06-17T00:59:16.1744676Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1744787Z               "line": 19
2026-06-17T00:59:16.1744886Z             },
2026-06-17T00:59:16.1744990Z             {
2026-06-17T00:59:16.1745139Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1745248Z               "line": 50
2026-06-17T00:59:16.1745349Z             },
2026-06-17T00:59:16.1745449Z             {
2026-06-17T00:59:16.1745591Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T00:59:16.1745693Z               "line": 18
2026-06-17T00:59:16.1745802Z             },
2026-06-17T00:59:16.1745906Z             {
2026-06-17T00:59:16.1746045Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T00:59:16.1746154Z               "line": 71
2026-06-17T00:59:16.1746254Z             },
2026-06-17T00:59:16.1746365Z             {
2026-06-17T00:59:16.1746507Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.1746618Z               "line": 87
2026-06-17T00:59:16.1746718Z             }
2026-06-17T00:59:16.1746821Z           ]
2026-06-17T00:59:16.1746920Z         },
2026-06-17T00:59:16.1747030Z         "int": {
2026-06-17T00:59:16.1747152Z           "complete": false,
2026-06-17T00:59:16.1747262Z           "evidence": []
2026-06-17T00:59:16.1747363Z         },
2026-06-17T00:59:16.1747462Z         "unit": {
2026-06-17T00:59:16.1747576Z           "complete": true,
2026-06-17T00:59:16.1747682Z           "evidence": [
2026-06-17T00:59:16.1747791Z             {
2026-06-17T00:59:16.1747944Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1748162Z               "line": 289
2026-06-17T00:59:16.1748264Z             },
2026-06-17T00:59:16.1748368Z             {
2026-06-17T00:59:16.1748521Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1748636Z               "line": 314
2026-06-17T00:59:16.1748730Z             },
2026-06-17T00:59:16.1748831Z             {
2026-06-17T00:59:16.1749059Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1749165Z               "line": 350
2026-06-17T00:59:16.1749261Z             },
2026-06-17T00:59:16.1749359Z             {
2026-06-17T00:59:16.1749686Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1749790Z               "line": 418
2026-06-17T00:59:16.1749896Z             },
2026-06-17T00:59:16.1749996Z             {
2026-06-17T00:59:16.1750134Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1750244Z               "line": 429
2026-06-17T00:59:16.1750353Z             },
2026-06-17T00:59:16.1750458Z             {
2026-06-17T00:59:16.1750644Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1750749Z               "line": 460
2026-06-17T00:59:16.1750855Z             },
2026-06-17T00:59:16.1750959Z             {
2026-06-17T00:59:16.1751102Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.1751207Z               "line": 471
2026-06-17T00:59:16.1751311Z             },
2026-06-17T00:59:16.1751407Z             {
2026-06-17T00:59:16.1751554Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1751664Z               "line": 77
2026-06-17T00:59:16.1751765Z             },
2026-06-17T00:59:16.1751869Z             {
2026-06-17T00:59:16.1752013Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1752119Z               "line": 97
2026-06-17T00:59:16.1752217Z             },
2026-06-17T00:59:16.1752316Z             {
2026-06-17T00:59:16.1752451Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1752569Z               "line": 112
2026-06-17T00:59:16.1752674Z             },
2026-06-17T00:59:16.1752780Z             {
2026-06-17T00:59:16.1752927Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1753027Z               "line": 123
2026-06-17T00:59:16.1753132Z             },
2026-06-17T00:59:16.1753232Z             {
2026-06-17T00:59:16.1753381Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1753490Z               "line": 130
2026-06-17T00:59:16.1753594Z             },
2026-06-17T00:59:16.1753705Z             {
2026-06-17T00:59:16.1753847Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T00:59:16.1753957Z               "line": 145
2026-06-17T00:59:16.1754053Z             },
2026-06-17T00:59:16.1754157Z             {
2026-06-17T00:59:16.1754301Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T00:59:16.1754410Z               "line": 115
2026-06-17T00:59:16.1754514Z             },
2026-06-17T00:59:16.1754604Z             {
2026-06-17T00:59:16.1754746Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T00:59:16.1754855Z               "line": 130
2026-06-17T00:59:16.1754955Z             },
2026-06-17T00:59:16.1755070Z             {
2026-06-17T00:59:16.1755226Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.1755337Z               "line": 428
2026-06-17T00:59:16.1755441Z             }
2026-06-17T00:59:16.1755541Z           ]
2026-06-17T00:59:16.1755642Z         }
2026-06-17T00:59:16.1755747Z       }
2026-06-17T00:59:16.1755850Z     },
2026-06-17T00:59:16.1755952Z     {
2026-06-17T00:59:16.1756094Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-17T00:59:16.1756963Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-17T00:59:16.1757187Z       "requiredStages": [
2026-06-17T00:59:16.1757292Z         "doc",
2026-06-17T00:59:16.1757395Z         "impl",
2026-06-17T00:59:16.1757495Z         "unit"
2026-06-17T00:59:16.1757600Z       ],
2026-06-17T00:59:16.1757703Z       "stages": {
2026-06-17T00:59:16.1757803Z         "doc": {
2026-06-17T00:59:16.1757909Z           "complete": true,
2026-06-17T00:59:16.1758018Z           "evidence": [
2026-06-17T00:59:16.1758118Z             {
2026-06-17T00:59:16.1758271Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1758403Z               "line": 367
2026-06-17T00:59:16.1758581Z             }
2026-06-17T00:59:16.1758671Z           ]
2026-06-17T00:59:16.1758775Z         },
2026-06-17T00:59:16.1758881Z         "impl": {
2026-06-17T00:59:16.1759086Z           "complete": true,
2026-06-17T00:59:16.1759201Z           "evidence": [
2026-06-17T00:59:16.1759295Z             {
2026-06-17T00:59:16.1759454Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1759553Z               "line": 199
2026-06-17T00:59:16.1759658Z             },
2026-06-17T00:59:16.1759759Z             {
2026-06-17T00:59:16.1759910Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1760024Z               "line": 303
2026-06-17T00:59:16.1760124Z             },
2026-06-17T00:59:16.1760227Z             {
2026-06-17T00:59:16.1760359Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1760466Z               "line": 515
2026-06-17T00:59:16.1760566Z             },
2026-06-17T00:59:16.1760665Z             {
2026-06-17T00:59:16.1760809Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1760918Z               "line": 530
2026-06-17T00:59:16.1761023Z             },
2026-06-17T00:59:16.1761124Z             {
2026-06-17T00:59:16.1761261Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1761372Z               "line": 1127
2026-06-17T00:59:16.1761476Z             },
2026-06-17T00:59:16.1764169Z             {
2026-06-17T00:59:16.1764359Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1764474Z               "line": 443
2026-06-17T00:59:16.1764575Z             },
2026-06-17T00:59:16.1764674Z             {
2026-06-17T00:59:16.1764832Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1764938Z               "line": 590
2026-06-17T00:59:16.1765036Z             },
2026-06-17T00:59:16.1765136Z             {
2026-06-17T00:59:16.1765283Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1765386Z               "line": 731
2026-06-17T00:59:16.1765505Z             }
2026-06-17T00:59:16.1765606Z           ]
2026-06-17T00:59:16.1765696Z         },
2026-06-17T00:59:16.1765801Z         "int": {
2026-06-17T00:59:16.1765916Z           "complete": false,
2026-06-17T00:59:16.1766025Z           "evidence": []
2026-06-17T00:59:16.1766125Z         },
2026-06-17T00:59:16.1766236Z         "unit": {
2026-06-17T00:59:16.1766354Z           "complete": true,
2026-06-17T00:59:16.1766464Z           "evidence": [
2026-06-17T00:59:16.1766564Z             {
2026-06-17T00:59:16.1766707Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.1766818Z               "line": 1155
2026-06-17T00:59:16.1766912Z             },
2026-06-17T00:59:16.1767012Z             {
2026-06-17T00:59:16.1767175Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-17T00:59:16.1767284Z               "line": 30
2026-06-17T00:59:16.1767389Z             }
2026-06-17T00:59:16.1767490Z           ]
2026-06-17T00:59:16.1767589Z         }
2026-06-17T00:59:16.1767689Z       }
2026-06-17T00:59:16.1767796Z     },
2026-06-17T00:59:16.1767899Z     {
2026-06-17T00:59:16.1768041Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-17T00:59:16.1768334Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-17T00:59:16.1768449Z       "requiredStages": [
2026-06-17T00:59:16.1768697Z         "impl",
2026-06-17T00:59:16.1768793Z         "unit"
2026-06-17T00:59:16.1768902Z       ],
2026-06-17T00:59:16.1769084Z       "stages": {
2026-06-17T00:59:16.1769189Z         "doc": {
2026-06-17T00:59:16.1769307Z           "complete": true,
2026-06-17T00:59:16.1769417Z           "evidence": [
2026-06-17T00:59:16.1769517Z             {
2026-06-17T00:59:16.1769646Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1769746Z               "line": 139
2026-06-17T00:59:16.1769850Z             }
2026-06-17T00:59:16.1769951Z           ]
2026-06-17T00:59:16.1770047Z         },
2026-06-17T00:59:16.1770251Z         "impl": {
2026-06-17T00:59:16.1770372Z           "complete": true,
2026-06-17T00:59:16.1770475Z           "evidence": [
2026-06-17T00:59:16.1770574Z             {
2026-06-17T00:59:16.1770717Z               "path": "crates/spt-store/src/db.rs",
2026-06-17T00:59:16.1770806Z               "line": 29
2026-06-17T00:59:16.1770910Z             },
2026-06-17T00:59:16.1771016Z             {
2026-06-17T00:59:16.1771158Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.1771263Z               "line": 101
2026-06-17T00:59:16.1771369Z             },
2026-06-17T00:59:16.1771469Z             {
2026-06-17T00:59:16.1771612Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1771717Z               "line": 30
2026-06-17T00:59:16.1771821Z             },
2026-06-17T00:59:16.1771923Z             {
2026-06-17T00:59:16.1772069Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1772184Z               "line": 48
2026-06-17T00:59:16.1772290Z             }
2026-06-17T00:59:16.1772394Z           ]
2026-06-17T00:59:16.1772494Z         },
2026-06-17T00:59:16.1772600Z         "int": {
2026-06-17T00:59:16.1772717Z           "complete": false,
2026-06-17T00:59:16.1772823Z           "evidence": []
2026-06-17T00:59:16.1772924Z         },
2026-06-17T00:59:16.1773027Z         "unit": {
2026-06-17T00:59:16.1773138Z           "complete": true,
2026-06-17T00:59:16.1773248Z           "evidence": [
2026-06-17T00:59:16.1773352Z             {
2026-06-17T00:59:16.1773499Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1773604Z               "line": 162
2026-06-17T00:59:16.1773708Z             }
2026-06-17T00:59:16.1773808Z           ]
2026-06-17T00:59:16.1773910Z         }
2026-06-17T00:59:16.1774014Z       }
2026-06-17T00:59:16.1774118Z     },
2026-06-17T00:59:16.1774220Z     {
2026-06-17T00:59:16.1774357Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-17T00:59:16.1774787Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-17T00:59:16.1774910Z       "requiredStages": [
2026-06-17T00:59:16.1775010Z         "doc",
2026-06-17T00:59:16.1775112Z         "impl",
2026-06-17T00:59:16.1775211Z         "unit"
2026-06-17T00:59:16.1775320Z       ],
2026-06-17T00:59:16.1775421Z       "stages": {
2026-06-17T00:59:16.1775531Z         "doc": {
2026-06-17T00:59:16.1775649Z           "complete": true,
2026-06-17T00:59:16.1775744Z           "evidence": [
2026-06-17T00:59:16.1775848Z             {
2026-06-17T00:59:16.1775975Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1776075Z               "line": 151
2026-06-17T00:59:16.1776176Z             }
2026-06-17T00:59:16.1776280Z           ]
2026-06-17T00:59:16.1776385Z         },
2026-06-17T00:59:16.1776486Z         "impl": {
2026-06-17T00:59:16.1776590Z           "complete": true,
2026-06-17T00:59:16.1776695Z           "evidence": [
2026-06-17T00:59:16.1776800Z             {
2026-06-17T00:59:16.1776952Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1777058Z               "line": 22
2026-06-17T00:59:16.1777163Z             }
2026-06-17T00:59:16.1777267Z           ]
2026-06-17T00:59:16.1777368Z         },
2026-06-17T00:59:16.1777472Z         "int": {
2026-06-17T00:59:16.1777587Z           "complete": false,
2026-06-17T00:59:16.1777806Z           "evidence": []
2026-06-17T00:59:16.1777906Z         },
2026-06-17T00:59:16.1778012Z         "unit": {
2026-06-17T00:59:16.1778120Z           "complete": true,
2026-06-17T00:59:16.1778235Z           "evidence": [
2026-06-17T00:59:16.1778337Z             {
2026-06-17T00:59:16.1778483Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1778586Z               "line": 298
2026-06-17T00:59:16.1778692Z             }
2026-06-17T00:59:16.1778799Z           ]
2026-06-17T00:59:16.1778903Z         }
2026-06-17T00:59:16.1779062Z       }
2026-06-17T00:59:16.1779161Z     },
2026-06-17T00:59:16.1779381Z     {
2026-06-17T00:59:16.1779514Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-17T00:59:16.1779992Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-17T00:59:16.1780115Z       "requiredStages": [
2026-06-17T00:59:16.1780216Z         "impl",
2026-06-17T00:59:16.1780321Z         "unit"
2026-06-17T00:59:16.1780425Z       ],
2026-06-17T00:59:16.1780531Z       "stages": {
2026-06-17T00:59:16.1780631Z         "doc": {
2026-06-17T00:59:16.1780739Z           "complete": true,
2026-06-17T00:59:16.1780846Z           "evidence": [
2026-06-17T00:59:16.1780936Z             {
2026-06-17T00:59:16.1781068Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1781172Z               "line": 145
2026-06-17T00:59:16.1781273Z             }
2026-06-17T00:59:16.1781376Z           ]
2026-06-17T00:59:16.1781480Z         },
2026-06-17T00:59:16.1781581Z         "impl": {
2026-06-17T00:59:16.1781695Z           "complete": true,
2026-06-17T00:59:16.1781790Z           "evidence": [
2026-06-17T00:59:16.1781891Z             {
2026-06-17T00:59:16.1782052Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T00:59:16.1782153Z               "line": 160
2026-06-17T00:59:16.1782253Z             },
2026-06-17T00:59:16.1782353Z             {
2026-06-17T00:59:16.1782511Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1782615Z               "line": 200
2026-06-17T00:59:16.1782720Z             },
2026-06-17T00:59:16.1782821Z             {
2026-06-17T00:59:16.1782968Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1783078Z               "line": 298
2026-06-17T00:59:16.1783179Z             },
2026-06-17T00:59:16.1783282Z             {
2026-06-17T00:59:16.1783422Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T00:59:16.1783522Z               "line": 20
2026-06-17T00:59:16.1783626Z             }
2026-06-17T00:59:16.1783732Z           ]
2026-06-17T00:59:16.1783837Z         },
2026-06-17T00:59:16.1783935Z         "int": {
2026-06-17T00:59:16.1784049Z           "complete": false,
2026-06-17T00:59:16.1784155Z           "evidence": []
2026-06-17T00:59:16.1784255Z         },
2026-06-17T00:59:16.1784368Z         "unit": {
2026-06-17T00:59:16.1784479Z           "complete": true,
2026-06-17T00:59:16.1784588Z           "evidence": [
2026-06-17T00:59:16.1784688Z             {
2026-06-17T00:59:16.1784846Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1784950Z               "line": 885
2026-06-17T00:59:16.1785047Z             },
2026-06-17T00:59:16.1785156Z             {
2026-06-17T00:59:16.1785303Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-17T00:59:16.1785405Z               "line": 88
2026-06-17T00:59:16.1785508Z             },
2026-06-17T00:59:16.1785608Z             {
2026-06-17T00:59:16.1785757Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1785861Z               "line": 819
2026-06-17T00:59:16.1785957Z             },
2026-06-17T00:59:16.1786049Z             {
2026-06-17T00:59:16.1786194Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1786314Z               "line": 838
2026-06-17T00:59:16.1786418Z             },
2026-06-17T00:59:16.1786516Z             {
2026-06-17T00:59:16.1786775Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.1786883Z               "line": 279
2026-06-17T00:59:16.1786988Z             },
2026-06-17T00:59:16.1787089Z             {
2026-06-17T00:59:16.1787235Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T00:59:16.1787337Z               "line": 82
2026-06-17T00:59:16.1787441Z             },
2026-06-17T00:59:16.1787546Z             {
2026-06-17T00:59:16.1787689Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T00:59:16.1787798Z               "line": 99
2026-06-17T00:59:16.1787889Z             },
2026-06-17T00:59:16.1788066Z             {
2026-06-17T00:59:16.1788204Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T00:59:16.1788324Z               "line": 119
2026-06-17T00:59:16.1788419Z             }
2026-06-17T00:59:16.1788519Z           ]
2026-06-17T00:59:16.1788615Z         }
2026-06-17T00:59:16.1788714Z       }
2026-06-17T00:59:16.1788815Z     },
2026-06-17T00:59:16.1788916Z     {
2026-06-17T00:59:16.1789151Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-17T00:59:16.1790500Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-17T00:59:16.1790609Z       "requiredStages": [
2026-06-17T00:59:16.1790718Z         "doc",
2026-06-17T00:59:16.1790820Z         "impl",
2026-06-17T00:59:16.1790923Z         "unit"
2026-06-17T00:59:16.1791023Z       ],
2026-06-17T00:59:16.1791130Z       "stages": {
2026-06-17T00:59:16.1791233Z         "doc": {
2026-06-17T00:59:16.1791334Z           "complete": true,
2026-06-17T00:59:16.1791439Z           "evidence": [
2026-06-17T00:59:16.1791544Z             {
2026-06-17T00:59:16.1791685Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1791786Z               "line": 157
2026-06-17T00:59:16.1791889Z             }
2026-06-17T00:59:16.1791988Z           ]
2026-06-17T00:59:16.1792088Z         },
2026-06-17T00:59:16.1792194Z         "impl": {
2026-06-17T00:59:16.1792303Z           "complete": true,
2026-06-17T00:59:16.1792403Z           "evidence": [
2026-06-17T00:59:16.1792504Z             {
2026-06-17T00:59:16.1792665Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.1792771Z               "line": 137
2026-06-17T00:59:16.1792870Z             },
2026-06-17T00:59:16.1792974Z             {
2026-06-17T00:59:16.1793123Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1793237Z               "line": 512
2026-06-17T00:59:16.1793338Z             },
2026-06-17T00:59:16.1793438Z             {
2026-06-17T00:59:16.1793595Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1793701Z               "line": 519
2026-06-17T00:59:16.1793800Z             },
2026-06-17T00:59:16.1793905Z             {
2026-06-17T00:59:16.1794054Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1794157Z               "line": 227
2026-06-17T00:59:16.1794258Z             }
2026-06-17T00:59:16.1794364Z           ]
2026-06-17T00:59:16.1794467Z         },
2026-06-17T00:59:16.1794571Z         "int": {
2026-06-17T00:59:16.1794681Z           "complete": false,
2026-06-17T00:59:16.1794791Z           "evidence": []
2026-06-17T00:59:16.1794895Z         },
2026-06-17T00:59:16.1794996Z         "unit": {
2026-06-17T00:59:16.1795106Z           "complete": true,
2026-06-17T00:59:16.1795215Z           "evidence": [
2026-06-17T00:59:16.1795311Z             {
2026-06-17T00:59:16.1795463Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1795568Z               "line": 1515
2026-06-17T00:59:16.1795683Z             },
2026-06-17T00:59:16.1795788Z             {
2026-06-17T00:59:16.1796050Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1796159Z               "line": 1573
2026-06-17T00:59:16.1796265Z             },
2026-06-17T00:59:16.1796369Z             {
2026-06-17T00:59:16.1796513Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1796623Z               "line": 851
2026-06-17T00:59:16.1796726Z             }
2026-06-17T00:59:16.1796835Z           ]
2026-06-17T00:59:16.1796935Z         }
2026-06-17T00:59:16.1797039Z       }
2026-06-17T00:59:16.1797138Z     },
2026-06-17T00:59:16.1797238Z     {
2026-06-17T00:59:16.1797476Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-17T00:59:16.1797687Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-17T00:59:16.1797805Z       "requiredStages": [
2026-06-17T00:59:16.1797902Z         "impl",
2026-06-17T00:59:16.1798006Z         "unit"
2026-06-17T00:59:16.1798106Z       ],
2026-06-17T00:59:16.1798207Z       "stages": {
2026-06-17T00:59:16.1798317Z         "doc": {
2026-06-17T00:59:16.1798421Z           "complete": false,
2026-06-17T00:59:16.1798522Z           "evidence": []
2026-06-17T00:59:16.1798621Z         },
2026-06-17T00:59:16.1798726Z         "impl": {
2026-06-17T00:59:16.1798832Z           "complete": true,
2026-06-17T00:59:16.1798931Z           "evidence": [
2026-06-17T00:59:16.1799123Z             {
2026-06-17T00:59:16.1799264Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1799365Z               "line": 15
2026-06-17T00:59:16.1799466Z             },
2026-06-17T00:59:16.1799570Z             {
2026-06-17T00:59:16.1799716Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1799831Z               "line": 55
2026-06-17T00:59:16.1799929Z             },
2026-06-17T00:59:16.1800028Z             {
2026-06-17T00:59:16.1800178Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1800281Z               "line": 66
2026-06-17T00:59:16.1800382Z             },
2026-06-17T00:59:16.1800483Z             {
2026-06-17T00:59:16.1800625Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1800741Z               "line": 115
2026-06-17T00:59:16.1800840Z             },
2026-06-17T00:59:16.1800944Z             {
2026-06-17T00:59:16.1801084Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1801198Z               "line": 138
2026-06-17T00:59:16.1801297Z             }
2026-06-17T00:59:16.1801399Z           ]
2026-06-17T00:59:16.1801502Z         },
2026-06-17T00:59:16.1801603Z         "int": {
2026-06-17T00:59:16.1801723Z           "complete": false,
2026-06-17T00:59:16.1801831Z           "evidence": []
2026-06-17T00:59:16.1801932Z         },
2026-06-17T00:59:16.1802029Z         "unit": {
2026-06-17T00:59:16.1802141Z           "complete": true,
2026-06-17T00:59:16.1802249Z           "evidence": [
2026-06-17T00:59:16.1802355Z             {
2026-06-17T00:59:16.1802491Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1802600Z               "line": 149
2026-06-17T00:59:16.1802706Z             },
2026-06-17T00:59:16.1802806Z             {
2026-06-17T00:59:16.1802944Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1803054Z               "line": 155
2026-06-17T00:59:16.1803158Z             },
2026-06-17T00:59:16.1803259Z             {
2026-06-17T00:59:16.1803393Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1803516Z               "line": 169
2026-06-17T00:59:16.1803617Z             },
2026-06-17T00:59:16.1803721Z             {
2026-06-17T00:59:16.1803854Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1803956Z               "line": 178
2026-06-17T00:59:16.1804060Z             },
2026-06-17T00:59:16.1804169Z             {
2026-06-17T00:59:16.1804308Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1804422Z               "line": 195
2026-06-17T00:59:16.1804528Z             },
2026-06-17T00:59:16.1804727Z             {
2026-06-17T00:59:16.1804871Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1804985Z               "line": 208
2026-06-17T00:59:16.1805079Z             },
2026-06-17T00:59:16.1805179Z             {
2026-06-17T00:59:16.1805323Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1805427Z               "line": 271
2026-06-17T00:59:16.1805533Z             },
2026-06-17T00:59:16.1805633Z             {
2026-06-17T00:59:16.1805779Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1805881Z               "line": 290
2026-06-17T00:59:16.1806080Z             },
2026-06-17T00:59:16.1806191Z             {
2026-06-17T00:59:16.1806329Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.1806443Z               "line": 319
2026-06-17T00:59:16.1806544Z             }
2026-06-17T00:59:16.1806648Z           ]
2026-06-17T00:59:16.1806748Z         }
2026-06-17T00:59:16.1806859Z       }
2026-06-17T00:59:16.1806962Z     },
2026-06-17T00:59:16.1807063Z     {
2026-06-17T00:59:16.1807206Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-17T00:59:16.1807500Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-17T00:59:16.1807613Z       "requiredStages": [
2026-06-17T00:59:16.1807712Z         "impl",
2026-06-17T00:59:16.1807818Z         "unit",
2026-06-17T00:59:16.1807918Z         "int"
2026-06-17T00:59:16.1808017Z       ],
2026-06-17T00:59:16.1808118Z       "stages": {
2026-06-17T00:59:16.1808214Z         "doc": {
2026-06-17T00:59:16.1808332Z           "complete": false,
2026-06-17T00:59:16.1808438Z           "evidence": []
2026-06-17T00:59:16.1808543Z         },
2026-06-17T00:59:16.1808647Z         "impl": {
2026-06-17T00:59:16.1808753Z           "complete": true,
2026-06-17T00:59:16.1808857Z           "evidence": [
2026-06-17T00:59:16.1809034Z             {
2026-06-17T00:59:16.1809186Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1809281Z               "line": 447
2026-06-17T00:59:16.1809392Z             },
2026-06-17T00:59:16.1809491Z             {
2026-06-17T00:59:16.1809659Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1809773Z               "line": 867
2026-06-17T00:59:16.1809878Z             },
2026-06-17T00:59:16.1809979Z             {
2026-06-17T00:59:16.1810121Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1810234Z               "line": 912
2026-06-17T00:59:16.1810329Z             },
2026-06-17T00:59:16.1810429Z             {
2026-06-17T00:59:16.1810560Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.1810661Z               "line": 937
2026-06-17T00:59:16.1810762Z             },
2026-06-17T00:59:16.1810865Z             {
2026-06-17T00:59:16.1811010Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1811124Z               "line": 987
2026-06-17T00:59:16.1811228Z             },
2026-06-17T00:59:16.1811339Z             {
2026-06-17T00:59:16.1811480Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1811601Z               "line": 1113
2026-06-17T00:59:16.1811705Z             },
2026-06-17T00:59:16.1811814Z             {
2026-06-17T00:59:16.1811959Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1812062Z               "line": 1244
2026-06-17T00:59:16.1812168Z             },
2026-06-17T00:59:16.1812269Z             {
2026-06-17T00:59:16.1812415Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1812526Z               "line": 1292
2026-06-17T00:59:16.1812636Z             },
2026-06-17T00:59:16.1812744Z             {
2026-06-17T00:59:16.1812868Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1812981Z               "line": 46
2026-06-17T00:59:16.1813070Z             },
2026-06-17T00:59:16.1813170Z             {
2026-06-17T00:59:16.1813319Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1813518Z               "line": 167
2026-06-17T00:59:16.1813619Z             },
2026-06-17T00:59:16.1813718Z             {
2026-06-17T00:59:16.1813863Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.1813972Z               "line": 132
2026-06-17T00:59:16.1814076Z             },
2026-06-17T00:59:16.1814182Z             {
2026-06-17T00:59:16.1814324Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1814438Z               "line": 137
2026-06-17T00:59:16.1814535Z             },
2026-06-17T00:59:16.1814635Z             {
2026-06-17T00:59:16.1814887Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1815006Z               "line": 183
2026-06-17T00:59:16.1815112Z             }
2026-06-17T00:59:16.1815211Z           ]
2026-06-17T00:59:16.1815306Z         },
2026-06-17T00:59:16.1815413Z         "int": {
2026-06-17T00:59:16.1815531Z           "complete": true,
2026-06-17T00:59:16.1815635Z           "evidence": [
2026-06-17T00:59:16.1815739Z             {
2026-06-17T00:59:16.1815902Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-17T00:59:16.1816015Z               "line": 27
2026-06-17T00:59:16.1816121Z             },
2026-06-17T00:59:16.1816212Z             {
2026-06-17T00:59:16.1816369Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T00:59:16.1816470Z               "line": 129
2026-06-17T00:59:16.1816579Z             },
2026-06-17T00:59:16.1816684Z             {
2026-06-17T00:59:16.1816832Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-17T00:59:16.1816950Z               "line": 200
2026-06-17T00:59:16.1817052Z             }
2026-06-17T00:59:16.1817156Z           ]
2026-06-17T00:59:16.1817256Z         },
2026-06-17T00:59:16.1817367Z         "unit": {
2026-06-17T00:59:16.1817485Z           "complete": true,
2026-06-17T00:59:16.1817585Z           "evidence": [
2026-06-17T00:59:16.1817686Z             {
2026-06-17T00:59:16.1817837Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1817941Z               "line": 313
2026-06-17T00:59:16.1818046Z             },
2026-06-17T00:59:16.1818145Z             {
2026-06-17T00:59:16.1818287Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1818393Z               "line": 345
2026-06-17T00:59:16.1818497Z             },
2026-06-17T00:59:16.1818602Z             {
2026-06-17T00:59:16.1818736Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T00:59:16.1818840Z               "line": 366
2026-06-17T00:59:16.1819013Z             },
2026-06-17T00:59:16.1819108Z             {
2026-06-17T00:59:16.1819250Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.1819365Z               "line": 508
2026-06-17T00:59:16.1819470Z             },
2026-06-17T00:59:16.1819574Z             {
2026-06-17T00:59:16.1819718Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T00:59:16.1819827Z               "line": 289
2026-06-17T00:59:16.1819929Z             },
2026-06-17T00:59:16.1820032Z             {
2026-06-17T00:59:16.1820175Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T00:59:16.1820272Z               "line": 230
2026-06-17T00:59:16.1820375Z             },
2026-06-17T00:59:16.1820475Z             {
2026-06-17T00:59:16.1820620Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1820737Z               "line": 526
2026-06-17T00:59:16.1820832Z             },
2026-06-17T00:59:16.1820932Z             {
2026-06-17T00:59:16.1821064Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.1821178Z               "line": 556
2026-06-17T00:59:16.1821288Z             }
2026-06-17T00:59:16.1821388Z           ]
2026-06-17T00:59:16.1821492Z         }
2026-06-17T00:59:16.1821594Z       }
2026-06-17T00:59:16.1821703Z     },
2026-06-17T00:59:16.1821798Z     {
2026-06-17T00:59:16.1821970Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-17T00:59:16.1823715Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-17T00:59:16.1823945Z       "requiredStages": [
2026-06-17T00:59:16.1824141Z         "doc",
2026-06-17T00:59:16.1824236Z         "impl",
2026-06-17T00:59:16.1824341Z         "unit"
2026-06-17T00:59:16.1824442Z       ],
2026-06-17T00:59:16.1824542Z       "stages": {
2026-06-17T00:59:16.1824641Z         "doc": {
2026-06-17T00:59:16.1824752Z           "complete": true,
2026-06-17T00:59:16.1824860Z           "evidence": [
2026-06-17T00:59:16.1824956Z             {
2026-06-17T00:59:16.1825109Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1825223Z               "line": 307
2026-06-17T00:59:16.1825328Z             }
2026-06-17T00:59:16.1825429Z           ]
2026-06-17T00:59:16.1825523Z         },
2026-06-17T00:59:16.1825628Z         "impl": {
2026-06-17T00:59:16.1825744Z           "complete": true,
2026-06-17T00:59:16.1825862Z           "evidence": [
2026-06-17T00:59:16.1825968Z             {
2026-06-17T00:59:16.1826138Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T00:59:16.1826242Z               "line": 33
2026-06-17T00:59:16.1826338Z             },
2026-06-17T00:59:16.1826448Z             {
2026-06-17T00:59:16.1826604Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T00:59:16.1826701Z               "line": 39
2026-06-17T00:59:16.1826805Z             }
2026-06-17T00:59:16.1826904Z           ]
2026-06-17T00:59:16.1827015Z         },
2026-06-17T00:59:16.1827115Z         "int": {
2026-06-17T00:59:16.1827234Z           "complete": false,
2026-06-17T00:59:16.1827330Z           "evidence": []
2026-06-17T00:59:16.1827435Z         },
2026-06-17T00:59:16.1827534Z         "unit": {
2026-06-17T00:59:16.1827650Z           "complete": true,
2026-06-17T00:59:16.1827744Z           "evidence": [
2026-06-17T00:59:16.1827849Z             {
2026-06-17T00:59:16.1828007Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T00:59:16.1828106Z               "line": 95
2026-06-17T00:59:16.1828212Z             }
2026-06-17T00:59:16.1828312Z           ]
2026-06-17T00:59:16.1828416Z         }
2026-06-17T00:59:16.1828525Z       }
2026-06-17T00:59:16.1828625Z     },
2026-06-17T00:59:16.1828728Z     {
2026-06-17T00:59:16.1828852Z       "id": "REQ-HAZARD-SELF-ELEVATE",
2026-06-17T00:59:16.1831161Z       "title": "Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe path — never widening privilege scope, never adding/altering args, never via a PATH-resolved bare name, never via a shell-interpolated command string (argv-array only, no `sh -c`); the elevated child drops state back to the user (composes with the 5.7 de-elevation) and NEVER re-elevates (loop-safe: decide_elevation_path returns AlreadyElevated whenever the process is already Elevated, on every OS). The user's UAC/polkit/sudo prompt is the only consent gate — we never bypass it; the print-hint floor prints the absolute-path command too. The unprivileged parent never depends on (pipes/captures) the privileged child's stdout.",
2026-06-17T00:59:16.1831297Z       "requiredStages": [
2026-06-17T00:59:16.1831402Z         "unit"
2026-06-17T00:59:16.1831502Z       ],
2026-06-17T00:59:16.1831605Z       "stages": {
2026-06-17T00:59:16.1831709Z         "doc": {
2026-06-17T00:59:16.1831825Z           "complete": false,
2026-06-17T00:59:16.1831929Z           "evidence": []
2026-06-17T00:59:16.1832029Z         },
2026-06-17T00:59:16.1832140Z         "impl": {
2026-06-17T00:59:16.1832253Z           "complete": true,
2026-06-17T00:59:16.1832469Z           "evidence": [
2026-06-17T00:59:16.1832573Z             {
2026-06-17T00:59:16.1832706Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1832816Z               "line": 3244
2026-06-17T00:59:16.1832916Z             },
2026-06-17T00:59:16.1833016Z             {
2026-06-17T00:59:16.1833141Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1833254Z               "line": 3296
2026-06-17T00:59:16.1833356Z             },
2026-06-17T00:59:16.1833456Z             {
2026-06-17T00:59:16.1833583Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1833794Z               "line": 3341
2026-06-17T00:59:16.1833902Z             },
2026-06-17T00:59:16.1834007Z             {
2026-06-17T00:59:16.1834153Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1834257Z               "line": 92
2026-06-17T00:59:16.1834362Z             },
2026-06-17T00:59:16.1834459Z             {
2026-06-17T00:59:16.1834595Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1834716Z               "line": 148
2026-06-17T00:59:16.1834815Z             },
2026-06-17T00:59:16.1834924Z             {
2026-06-17T00:59:16.1835054Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1835153Z               "line": 192
2026-06-17T00:59:16.1835264Z             },
2026-06-17T00:59:16.1835369Z             {
2026-06-17T00:59:16.1835506Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1835617Z               "line": 200
2026-06-17T00:59:16.1835716Z             },
2026-06-17T00:59:16.1835807Z             {
2026-06-17T00:59:16.1835951Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1836064Z               "line": 211
2026-06-17T00:59:16.1836169Z             },
2026-06-17T00:59:16.1836276Z             {
2026-06-17T00:59:16.1836402Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1836499Z               "line": 265
2026-06-17T00:59:16.1836609Z             },
2026-06-17T00:59:16.1836712Z             {
2026-06-17T00:59:16.1836835Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1836951Z               "line": 279
2026-06-17T00:59:16.1837055Z             }
2026-06-17T00:59:16.1837155Z           ]
2026-06-17T00:59:16.1837261Z         },
2026-06-17T00:59:16.1837365Z         "int": {
2026-06-17T00:59:16.1837484Z           "complete": false,
2026-06-17T00:59:16.1837585Z           "evidence": []
2026-06-17T00:59:16.1837685Z         },
2026-06-17T00:59:16.1837789Z         "unit": {
2026-06-17T00:59:16.1837909Z           "complete": true,
2026-06-17T00:59:16.1838014Z           "evidence": [
2026-06-17T00:59:16.1838113Z             {
2026-06-17T00:59:16.1838252Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1838352Z               "line": 419
2026-06-17T00:59:16.1838453Z             },
2026-06-17T00:59:16.1838553Z             {
2026-06-17T00:59:16.1838690Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1838806Z               "line": 470
2026-06-17T00:59:16.1838906Z             },
2026-06-17T00:59:16.1839071Z             {
2026-06-17T00:59:16.1839204Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1839317Z               "line": 499
2026-06-17T00:59:16.1839417Z             },
2026-06-17T00:59:16.1839518Z             {
2026-06-17T00:59:16.1839660Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1839760Z               "line": 526
2026-06-17T00:59:16.1839866Z             }
2026-06-17T00:59:16.1839965Z           ]
2026-06-17T00:59:16.1840061Z         }
2026-06-17T00:59:16.1840161Z       }
2026-06-17T00:59:16.1840265Z     },
2026-06-17T00:59:16.1840366Z     {
2026-06-17T00:59:16.1840500Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-17T00:59:16.1840709Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-17T00:59:16.1840814Z       "requiredStages": [
2026-06-17T00:59:16.1840914Z         "impl",
2026-06-17T00:59:16.1841129Z         "unit"
2026-06-17T00:59:16.1841229Z       ],
2026-06-17T00:59:16.1841335Z       "stages": {
2026-06-17T00:59:16.1841435Z         "doc": {
2026-06-17T00:59:16.1841558Z           "complete": false,
2026-06-17T00:59:16.1841673Z           "evidence": []
2026-06-17T00:59:16.1841773Z         },
2026-06-17T00:59:16.1841881Z         "impl": {
2026-06-17T00:59:16.1841995Z           "complete": true,
2026-06-17T00:59:16.1842099Z           "evidence": [
2026-06-17T00:59:16.1842203Z             {
2026-06-17T00:59:16.1842370Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1842574Z               "line": 62
2026-06-17T00:59:16.1842680Z             },
2026-06-17T00:59:16.1842781Z             {
2026-06-17T00:59:16.1842928Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1843043Z               "line": 71
2026-06-17T00:59:16.1843142Z             },
2026-06-17T00:59:16.1843257Z             {
2026-06-17T00:59:16.1843405Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1843518Z               "line": 80
2026-06-17T00:59:16.1843620Z             },
2026-06-17T00:59:16.1843724Z             {
2026-06-17T00:59:16.1843877Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1843982Z               "line": 88
2026-06-17T00:59:16.1844086Z             },
2026-06-17T00:59:16.1844192Z             {
2026-06-17T00:59:16.1844331Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1844438Z               "line": 33
2026-06-17T00:59:16.1844538Z             },
2026-06-17T00:59:16.1844648Z             {
2026-06-17T00:59:16.1844798Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1844913Z               "line": 65
2026-06-17T00:59:16.1847506Z             },
2026-06-17T00:59:16.1847639Z             {
2026-06-17T00:59:16.1847802Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1847902Z               "line": 74
2026-06-17T00:59:16.1848016Z             },
2026-06-17T00:59:16.1848122Z             {
2026-06-17T00:59:16.1848264Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1848364Z               "line": 93
2026-06-17T00:59:16.1848460Z             },
2026-06-17T00:59:16.1848565Z             {
2026-06-17T00:59:16.1848703Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1848813Z               "line": 102
2026-06-17T00:59:16.1848912Z             },
2026-06-17T00:59:16.1849090Z             {
2026-06-17T00:59:16.1849236Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1849352Z               "line": 111
2026-06-17T00:59:16.1849452Z             },
2026-06-17T00:59:16.1849555Z             {
2026-06-17T00:59:16.1849712Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1849820Z               "line": 122
2026-06-17T00:59:16.1849915Z             },
2026-06-17T00:59:16.1850020Z             {
2026-06-17T00:59:16.1850149Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1850262Z               "line": 140
2026-06-17T00:59:16.1850369Z             },
2026-06-17T00:59:16.1850473Z             {
2026-06-17T00:59:16.1850611Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1850721Z               "line": 149
2026-06-17T00:59:16.1850825Z             },
2026-06-17T00:59:16.1850931Z             {
2026-06-17T00:59:16.1851069Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1851173Z               "line": 158
2026-06-17T00:59:16.1851274Z             },
2026-06-17T00:59:16.1851374Z             {
2026-06-17T00:59:16.1851512Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1851614Z               "line": 169
2026-06-17T00:59:16.1851717Z             },
2026-06-17T00:59:16.1851817Z             {
2026-06-17T00:59:16.1851958Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1852070Z               "line": 177
2026-06-17T00:59:16.1852328Z             },
2026-06-17T00:59:16.1852427Z             {
2026-06-17T00:59:16.1852555Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1852664Z               "line": 186
2026-06-17T00:59:16.1852768Z             },
2026-06-17T00:59:16.1852868Z             {
2026-06-17T00:59:16.1853007Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1853115Z               "line": 195
2026-06-17T00:59:16.1853227Z             },
2026-06-17T00:59:16.1853331Z             {
2026-06-17T00:59:16.1853463Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1853674Z               "line": 204
2026-06-17T00:59:16.1853778Z             },
2026-06-17T00:59:16.1853875Z             {
2026-06-17T00:59:16.1854003Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1854112Z               "line": 216
2026-06-17T00:59:16.1854213Z             },
2026-06-17T00:59:16.1854313Z             {
2026-06-17T00:59:16.1854452Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1854547Z               "line": 223
2026-06-17T00:59:16.1854651Z             },
2026-06-17T00:59:16.1854757Z             {
2026-06-17T00:59:16.1854881Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1854994Z               "line": 232
2026-06-17T00:59:16.1855098Z             },
2026-06-17T00:59:16.1855203Z             {
2026-06-17T00:59:16.1855339Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1855444Z               "line": 239
2026-06-17T00:59:16.1855550Z             },
2026-06-17T00:59:16.1855644Z             {
2026-06-17T00:59:16.1855788Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1855893Z               "line": 306
2026-06-17T00:59:16.1856001Z             },
2026-06-17T00:59:16.1856098Z             {
2026-06-17T00:59:16.1856241Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1856345Z               "line": 318
2026-06-17T00:59:16.1856441Z             },
2026-06-17T00:59:16.1856550Z             {
2026-06-17T00:59:16.1856689Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1856799Z               "line": 405
2026-06-17T00:59:16.1856894Z             }
2026-06-17T00:59:16.1856999Z           ]
2026-06-17T00:59:16.1857095Z         },
2026-06-17T00:59:16.1857194Z         "int": {
2026-06-17T00:59:16.1857319Z           "complete": false,
2026-06-17T00:59:16.1857420Z           "evidence": []
2026-06-17T00:59:16.1857527Z         },
2026-06-17T00:59:16.1857629Z         "unit": {
2026-06-17T00:59:16.1857744Z           "complete": true,
2026-06-17T00:59:16.1857865Z           "evidence": [
2026-06-17T00:59:16.1857965Z             {
2026-06-17T00:59:16.1858105Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1858208Z               "line": 487
2026-06-17T00:59:16.1858314Z             },
2026-06-17T00:59:16.1858414Z             {
2026-06-17T00:59:16.1858556Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1858663Z               "line": 528
2026-06-17T00:59:16.1858762Z             },
2026-06-17T00:59:16.1858866Z             {
2026-06-17T00:59:16.1859067Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1859181Z               "line": 541
2026-06-17T00:59:16.1859278Z             },
2026-06-17T00:59:16.1859382Z             {
2026-06-17T00:59:16.1859520Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1859631Z               "line": 627
2026-06-17T00:59:16.1859734Z             }
2026-06-17T00:59:16.1859830Z           ]
2026-06-17T00:59:16.1859931Z         }
2026-06-17T00:59:16.1860031Z       }
2026-06-17T00:59:16.1860130Z     },
2026-06-17T00:59:16.1860235Z     {
2026-06-17T00:59:16.1860362Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-17T00:59:16.1860585Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-17T00:59:16.1860695Z       "requiredStages": [
2026-06-17T00:59:16.1860799Z         "impl",
2026-06-17T00:59:16.1861000Z         "unit"
2026-06-17T00:59:16.1861104Z       ],
2026-06-17T00:59:16.1861205Z       "stages": {
2026-06-17T00:59:16.1861305Z         "doc": {
2026-06-17T00:59:16.1861409Z           "complete": false,
2026-06-17T00:59:16.1861520Z           "evidence": []
2026-06-17T00:59:16.1861620Z         },
2026-06-17T00:59:16.1861724Z         "impl": {
2026-06-17T00:59:16.1861830Z           "complete": true,
2026-06-17T00:59:16.1861934Z           "evidence": [
2026-06-17T00:59:16.1862039Z             {
2026-06-17T00:59:16.1862179Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.1862387Z               "line": 152
2026-06-17T00:59:16.1862493Z             },
2026-06-17T00:59:16.1862587Z             {
2026-06-17T00:59:16.1862736Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1862842Z               "line": 167
2026-06-17T00:59:16.1862940Z             }
2026-06-17T00:59:16.1863044Z           ]
2026-06-17T00:59:16.1863144Z         },
2026-06-17T00:59:16.1863252Z         "int": {
2026-06-17T00:59:16.1863366Z           "complete": false,
2026-06-17T00:59:16.1863471Z           "evidence": []
2026-06-17T00:59:16.1863576Z         },
2026-06-17T00:59:16.1863681Z         "unit": {
2026-06-17T00:59:16.1863792Z           "complete": true,
2026-06-17T00:59:16.1863896Z           "evidence": [
2026-06-17T00:59:16.1863991Z             {
2026-06-17T00:59:16.1864125Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.1864230Z               "line": 274
2026-06-17T00:59:16.1864329Z             },
2026-06-17T00:59:16.1864431Z             {
2026-06-17T00:59:16.1864577Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1864682Z               "line": 832
2026-06-17T00:59:16.1864783Z             },
2026-06-17T00:59:16.1864882Z             {
2026-06-17T00:59:16.1865026Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.1865131Z               "line": 845
2026-06-17T00:59:16.1865235Z             }
2026-06-17T00:59:16.1865336Z           ]
2026-06-17T00:59:16.1865431Z         }
2026-06-17T00:59:16.1865535Z       }
2026-06-17T00:59:16.1865634Z     },
2026-06-17T00:59:16.1865735Z     {
2026-06-17T00:59:16.1865866Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-17T00:59:16.1866019Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-17T00:59:16.1866134Z       "requiredStages": [
2026-06-17T00:59:16.1866237Z         "impl",
2026-06-17T00:59:16.1866348Z         "unit"
2026-06-17T00:59:16.1866448Z       ],
2026-06-17T00:59:16.1866557Z       "stages": {
2026-06-17T00:59:16.1866654Z         "doc": {
2026-06-17T00:59:16.1866763Z           "complete": false,
2026-06-17T00:59:16.1866876Z           "evidence": []
2026-06-17T00:59:16.1866978Z         },
2026-06-17T00:59:16.1867092Z         "impl": {
2026-06-17T00:59:16.1867196Z           "complete": true,
2026-06-17T00:59:16.1867303Z           "evidence": [
2026-06-17T00:59:16.1867406Z             {
2026-06-17T00:59:16.1867549Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.1867669Z               "line": 116
2026-06-17T00:59:16.1867773Z             },
2026-06-17T00:59:16.1867879Z             {
2026-06-17T00:59:16.1868017Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.1868122Z               "line": 481
2026-06-17T00:59:16.1868228Z             }
2026-06-17T00:59:16.1868323Z           ]
2026-06-17T00:59:16.1868426Z         },
2026-06-17T00:59:16.1868530Z         "int": {
2026-06-17T00:59:16.1868637Z           "complete": false,
2026-06-17T00:59:16.1868745Z           "evidence": []
2026-06-17T00:59:16.1868850Z         },
2026-06-17T00:59:16.1869046Z         "unit": {
2026-06-17T00:59:16.1869150Z           "complete": true,
2026-06-17T00:59:16.1869251Z           "evidence": [
2026-06-17T00:59:16.1869356Z             {
2026-06-17T00:59:16.1869508Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.1869609Z               "line": 515
2026-06-17T00:59:16.1869718Z             }
2026-06-17T00:59:16.1869919Z           ]
2026-06-17T00:59:16.1870019Z         }
2026-06-17T00:59:16.1870119Z       }
2026-06-17T00:59:16.1870220Z     },
2026-06-17T00:59:16.1870323Z     {
2026-06-17T00:59:16.1870462Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-17T00:59:16.1870652Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-17T00:59:16.1870760Z       "requiredStages": [
2026-06-17T00:59:16.1870861Z         "impl",
2026-06-17T00:59:16.1870969Z         "unit"
2026-06-17T00:59:16.1871064Z       ],
2026-06-17T00:59:16.1871169Z       "stages": {
2026-06-17T00:59:16.1871369Z         "doc": {
2026-06-17T00:59:16.1871479Z           "complete": false,
2026-06-17T00:59:16.1871589Z           "evidence": []
2026-06-17T00:59:16.1871688Z         },
2026-06-17T00:59:16.1871794Z         "impl": {
2026-06-17T00:59:16.1871904Z           "complete": true,
2026-06-17T00:59:16.1872008Z           "evidence": [
2026-06-17T00:59:16.1872109Z             {
2026-06-17T00:59:16.1872256Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.1872361Z               "line": 527
2026-06-17T00:59:16.1872462Z             },
2026-06-17T00:59:16.1872562Z             {
2026-06-17T00:59:16.1872705Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1872819Z               "line": 28
2026-06-17T00:59:16.1872919Z             }
2026-06-17T00:59:16.1873025Z           ]
2026-06-17T00:59:16.1873125Z         },
2026-06-17T00:59:16.1873219Z         "int": {
2026-06-17T00:59:16.1873340Z           "complete": false,
2026-06-17T00:59:16.1873449Z           "evidence": []
2026-06-17T00:59:16.1873552Z         },
2026-06-17T00:59:16.1873657Z         "unit": {
2026-06-17T00:59:16.1873780Z           "complete": true,
2026-06-17T00:59:16.1873883Z           "evidence": [
2026-06-17T00:59:16.1873984Z             {
2026-06-17T00:59:16.1874128Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.1874236Z               "line": 229
2026-06-17T00:59:16.1874342Z             }
2026-06-17T00:59:16.1874442Z           ]
2026-06-17T00:59:16.1874546Z         }
2026-06-17T00:59:16.1874647Z       }
2026-06-17T00:59:16.1874751Z     },
2026-06-17T00:59:16.1874851Z     {
2026-06-17T00:59:16.1874981Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-17T00:59:16.1875147Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-17T00:59:16.1875257Z       "requiredStages": [],
2026-06-17T00:59:16.1875357Z       "stages": {
2026-06-17T00:59:16.1875457Z         "doc": {
2026-06-17T00:59:16.1875562Z           "complete": false,
2026-06-17T00:59:16.1875677Z           "evidence": []
2026-06-17T00:59:16.1875776Z         },
2026-06-17T00:59:16.1875887Z         "impl": {
2026-06-17T00:59:16.1876001Z           "complete": false,
2026-06-17T00:59:16.1876109Z           "evidence": []
2026-06-17T00:59:16.1876214Z         },
2026-06-17T00:59:16.1876314Z         "int": {
2026-06-17T00:59:16.1876422Z           "complete": false,
2026-06-17T00:59:16.1876526Z           "evidence": []
2026-06-17T00:59:16.1876637Z         },
2026-06-17T00:59:16.1876736Z         "unit": {
2026-06-17T00:59:16.1876851Z           "complete": false,
2026-06-17T00:59:16.1876971Z           "evidence": []
2026-06-17T00:59:16.1877070Z         }
2026-06-17T00:59:16.1877175Z       }
2026-06-17T00:59:16.1877275Z     },
2026-06-17T00:59:16.1877375Z     {
2026-06-17T00:59:16.1877514Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-17T00:59:16.1877680Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-17T00:59:16.1877799Z       "requiredStages": [
2026-06-17T00:59:16.1877900Z         "impl",
2026-06-17T00:59:16.1878005Z         "unit"
2026-06-17T00:59:16.1878104Z       ],
2026-06-17T00:59:16.1878206Z       "stages": {
2026-06-17T00:59:16.1878309Z         "doc": {
2026-06-17T00:59:16.1878410Z           "complete": false,
2026-06-17T00:59:16.1878521Z           "evidence": []
2026-06-17T00:59:16.1878619Z         },
2026-06-17T00:59:16.1878725Z         "impl": {
2026-06-17T00:59:16.1878911Z           "complete": true,
2026-06-17T00:59:16.1879105Z           "evidence": [
2026-06-17T00:59:16.1879206Z             {
2026-06-17T00:59:16.1879338Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T00:59:16.1879444Z               "line": 19
2026-06-17T00:59:16.1879544Z             },
2026-06-17T00:59:16.1879649Z             {
2026-06-17T00:59:16.1879802Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1879902Z               "line": 421
2026-06-17T00:59:16.1880005Z             },
2026-06-17T00:59:16.1880107Z             {
2026-06-17T00:59:16.1880255Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1880465Z               "line": 457
2026-06-17T00:59:16.1880564Z             },
2026-06-17T00:59:16.1880669Z             {
2026-06-17T00:59:16.1880818Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1880922Z               "line": 505
2026-06-17T00:59:16.1881022Z             },
2026-06-17T00:59:16.1881132Z             {
2026-06-17T00:59:16.1881269Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1881379Z               "line": 15
2026-06-17T00:59:16.1881478Z             },
2026-06-17T00:59:16.1881581Z             {
2026-06-17T00:59:16.1881719Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1881821Z               "line": 48
2026-06-17T00:59:16.1881924Z             },
2026-06-17T00:59:16.1882029Z             {
2026-06-17T00:59:16.1882168Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1882277Z               "line": 119
2026-06-17T00:59:16.1882378Z             },
2026-06-17T00:59:16.1882478Z             {
2026-06-17T00:59:16.1882601Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1882707Z               "line": 3672
2026-06-17T00:59:16.1882812Z             }
2026-06-17T00:59:16.1882912Z           ]
2026-06-17T00:59:16.1883012Z         },
2026-06-17T00:59:16.1883122Z         "int": {
2026-06-17T00:59:16.1883226Z           "complete": false,
2026-06-17T00:59:16.1883337Z           "evidence": []
2026-06-17T00:59:16.1883440Z         },
2026-06-17T00:59:16.1883536Z         "unit": {
2026-06-17T00:59:16.1883656Z           "complete": true,
2026-06-17T00:59:16.1883755Z           "evidence": [
2026-06-17T00:59:16.1883861Z             {
2026-06-17T00:59:16.1884000Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1884102Z               "line": 723
2026-06-17T00:59:16.1884207Z             },
2026-06-17T00:59:16.1884312Z             {
2026-06-17T00:59:16.1884453Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1884554Z               "line": 165
2026-06-17T00:59:16.1884659Z             },
2026-06-17T00:59:16.1884762Z             {
2026-06-17T00:59:16.1884897Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T00:59:16.1884997Z               "line": 175
2026-06-17T00:59:16.1885101Z             }
2026-06-17T00:59:16.1885202Z           ]
2026-06-17T00:59:16.1885307Z         }
2026-06-17T00:59:16.1885411Z       }
2026-06-17T00:59:16.1885517Z     },
2026-06-17T00:59:16.1885617Z     {
2026-06-17T00:59:16.1885759Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-17T00:59:16.1886698Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-17T00:59:16.1886822Z       "requiredStages": [
2026-06-17T00:59:16.1886925Z         "impl",
2026-06-17T00:59:16.1887029Z         "unit"
2026-06-17T00:59:16.1887139Z       ],
2026-06-17T00:59:16.1887240Z       "stages": {
2026-06-17T00:59:16.1887349Z         "doc": {
2026-06-17T00:59:16.1887464Z           "complete": false,
2026-06-17T00:59:16.1887578Z           "evidence": []
2026-06-17T00:59:16.1887673Z         },
2026-06-17T00:59:16.1887774Z         "impl": {
2026-06-17T00:59:16.1888011Z           "complete": true,
2026-06-17T00:59:16.1888113Z           "evidence": [
2026-06-17T00:59:16.1888212Z             {
2026-06-17T00:59:16.1888350Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1888461Z               "line": 192
2026-06-17T00:59:16.1888560Z             },
2026-06-17T00:59:16.1888664Z             {
2026-06-17T00:59:16.1888803Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1888913Z               "line": 279
2026-06-17T00:59:16.1889086Z             }
2026-06-17T00:59:16.1889184Z           ]
2026-06-17T00:59:16.1889290Z         },
2026-06-17T00:59:16.1889485Z         "int": {
2026-06-17T00:59:16.1889602Z           "complete": false,
2026-06-17T00:59:16.1889713Z           "evidence": []
2026-06-17T00:59:16.1889814Z         },
2026-06-17T00:59:16.1889917Z         "unit": {
2026-06-17T00:59:16.1890033Z           "complete": true,
2026-06-17T00:59:16.1890152Z           "evidence": [
2026-06-17T00:59:16.1890251Z             {
2026-06-17T00:59:16.1890395Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1890504Z               "line": 470
2026-06-17T00:59:16.1890610Z             },
2026-06-17T00:59:16.1890714Z             {
2026-06-17T00:59:16.1890843Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.1890943Z               "line": 526
2026-06-17T00:59:16.1891049Z             }
2026-06-17T00:59:16.1891148Z           ]
2026-06-17T00:59:16.1891254Z         }
2026-06-17T00:59:16.1891354Z       }
2026-06-17T00:59:16.1891457Z     },
2026-06-17T00:59:16.1891558Z     {
2026-06-17T00:59:16.1891702Z       "id": "REQ-HAZARD-TEMPLATE-ARGV-FILL",
2026-06-17T00:59:16.1895656Z       "title": "Command-template substitution fills argv ELEMENTS, not a re-tokenized string: spt-core currently `fill_template`s {key} values INTO the command STRING and THEN `tokenize`s the filled string (runtime.rs:94/122), so a multi-word {key} value whitespace-SPLITS into multiple argv tokens unless the adapter hand-quotes the placeholder, and a value containing a `\"` (or `;`) injects/breaks tokenization (shell-injection-adjacent). A filled value MUST become exactly ONE argv element regardless of spaces/quotes in the value. Fix: tokenize the TEMPLATE into argv FIRST, then `fill_template` EACH token, so a `{key}` slot resolves to a single element and the value never participates in tokenization (no whitespace-split, no quote/semicolon injection); preserve the missing-key / empty-command errors and `{{`/`}}` non-interpretation. perri's F-009 (v0.8.1 dogfood, argv-capture-confirmed): a multi-word `{psyche_prompt}` = \"PSYCHE REVIVAL time: epoch-ms:… incoming event: (none)\" arrived as argv[6..12] (7 stray tokens), the harness runner strict-parsed `--prompt` against the 2nd word, exited 2 within ~1s → phantom hosted perch. Applies to EVERY [session.<role>] template (psyche_init, extractor, notif, …); digest survives today only because its fills ({session_id}/{source}) are single-token.",
2026-06-17T00:59:16.1895825Z       "requiredStages": [
2026-06-17T00:59:16.1895925Z         "impl",
2026-06-17T00:59:16.1896024Z         "unit",
2026-06-17T00:59:16.1896125Z         "int"
2026-06-17T00:59:16.1896234Z       ],
2026-06-17T00:59:16.1896349Z       "stages": {
2026-06-17T00:59:16.1896454Z         "doc": {
2026-06-17T00:59:16.1896572Z           "complete": false,
2026-06-17T00:59:16.1896687Z           "evidence": []
2026-06-17T00:59:16.1896779Z         },
2026-06-17T00:59:16.1896872Z         "impl": {
2026-06-17T00:59:16.1896983Z           "complete": true,
2026-06-17T00:59:16.1897089Z           "evidence": [
2026-06-17T00:59:16.1897191Z             {
2026-06-17T00:59:16.1897349Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1897453Z               "line": 88
2026-06-17T00:59:16.1897561Z             },
2026-06-17T00:59:16.1897666Z             {
2026-06-17T00:59:16.1897819Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.1897928Z               "line": 132
2026-06-17T00:59:16.1898124Z             },
2026-06-17T00:59:16.1898228Z             {
2026-06-17T00:59:16.1898382Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.1898486Z               "line": 434
2026-06-17T00:59:16.1898590Z             },
2026-06-17T00:59:16.1898692Z             {
2026-06-17T00:59:16.1898838Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1899012Z               "line": 139
2026-06-17T00:59:16.1899116Z             },
2026-06-17T00:59:16.1899206Z             {
2026-06-17T00:59:16.1899355Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1899617Z               "line": 301
2026-06-17T00:59:16.1899725Z             },
2026-06-17T00:59:16.1899831Z             {
2026-06-17T00:59:16.1899980Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1900092Z               "line": 513
2026-06-17T00:59:16.1900191Z             }
2026-06-17T00:59:16.1900297Z           ]
2026-06-17T00:59:16.1900402Z         },
2026-06-17T00:59:16.1900506Z         "int": {
2026-06-17T00:59:16.1900626Z           "complete": true,
2026-06-17T00:59:16.1900731Z           "evidence": [
2026-06-17T00:59:16.1900830Z             {
2026-06-17T00:59:16.1901003Z               "path": "crates/spt/tests/livehost_nonresident_e2e.rs",
2026-06-17T00:59:16.1901117Z               "line": 32
2026-06-17T00:59:16.1901223Z             }
2026-06-17T00:59:16.1901327Z           ]
2026-06-17T00:59:16.1901431Z         },
2026-06-17T00:59:16.1901528Z         "unit": {
2026-06-17T00:59:16.1901646Z           "complete": true,
2026-06-17T00:59:16.1901756Z           "evidence": [
2026-06-17T00:59:16.1901862Z             {
2026-06-17T00:59:16.1902008Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1902128Z               "line": 583
2026-06-17T00:59:16.1902229Z             },
2026-06-17T00:59:16.1902323Z             {
2026-06-17T00:59:16.1902475Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1902584Z               "line": 604
2026-06-17T00:59:16.1902692Z             },
2026-06-17T00:59:16.1902792Z             {
2026-06-17T00:59:16.1902941Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1903058Z               "line": 620
2026-06-17T00:59:16.1903155Z             },
2026-06-17T00:59:16.1903255Z             {
2026-06-17T00:59:16.1903402Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1903508Z               "line": 638
2026-06-17T00:59:16.1903607Z             },
2026-06-17T00:59:16.1903722Z             {
2026-06-17T00:59:16.1903870Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.1903984Z               "line": 662
2026-06-17T00:59:16.1904090Z             }
2026-06-17T00:59:16.1904194Z           ]
2026-06-17T00:59:16.1904294Z         }
2026-06-17T00:59:16.1904400Z       }
2026-06-17T00:59:16.1904504Z     },
2026-06-17T00:59:16.1904609Z     {
2026-06-17T00:59:16.1904739Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-17T00:59:16.1904933Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-17T00:59:16.1905049Z       "requiredStages": [
2026-06-17T00:59:16.1905153Z         "impl",
2026-06-17T00:59:16.1905256Z         "unit"
2026-06-17T00:59:16.1905361Z       ],
2026-06-17T00:59:16.1905460Z       "stages": {
2026-06-17T00:59:16.1905568Z         "doc": {
2026-06-17T00:59:16.1905688Z           "complete": false,
2026-06-17T00:59:16.1905798Z           "evidence": []
2026-06-17T00:59:16.1905906Z         },
2026-06-17T00:59:16.1906013Z         "impl": {
2026-06-17T00:59:16.1906127Z           "complete": true,
2026-06-17T00:59:16.1906250Z           "evidence": [
2026-06-17T00:59:16.1906351Z             {
2026-06-17T00:59:16.1906503Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1906613Z               "line": 35
2026-06-17T00:59:16.1906719Z             }
2026-06-17T00:59:16.1906818Z           ]
2026-06-17T00:59:16.1906923Z         },
2026-06-17T00:59:16.1907024Z         "int": {
2026-06-17T00:59:16.1907233Z           "complete": false,
2026-06-17T00:59:16.1907348Z           "evidence": []
2026-06-17T00:59:16.1907451Z         },
2026-06-17T00:59:16.1907553Z         "unit": {
2026-06-17T00:59:16.1907658Z           "complete": true,
2026-06-17T00:59:16.1907775Z           "evidence": [
2026-06-17T00:59:16.1907870Z             {
2026-06-17T00:59:16.1908013Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T00:59:16.1908130Z               "line": 220
2026-06-17T00:59:16.1908231Z             }
2026-06-17T00:59:16.1908336Z           ]
2026-06-17T00:59:16.1908440Z         }
2026-06-17T00:59:16.1908618Z       }
2026-06-17T00:59:16.1908722Z     },
2026-06-17T00:59:16.1908822Z     {
2026-06-17T00:59:16.1909037Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-17T00:59:16.1909332Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-17T00:59:16.1909475Z       "requiredStages": [
2026-06-17T00:59:16.1909586Z         "impl",
2026-06-17T00:59:16.1909681Z         "unit"
2026-06-17T00:59:16.1909781Z       ],
2026-06-17T00:59:16.1909891Z       "stages": {
2026-06-17T00:59:16.1909999Z         "doc": {
2026-06-17T00:59:16.1910114Z           "complete": false,
2026-06-17T00:59:16.1910230Z           "evidence": []
2026-06-17T00:59:16.1910333Z         },
2026-06-17T00:59:16.1910439Z         "impl": {
2026-06-17T00:59:16.1910545Z           "complete": true,
2026-06-17T00:59:16.1910647Z           "evidence": [
2026-06-17T00:59:16.1910756Z             {
2026-06-17T00:59:16.1910911Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.1911024Z               "line": 405
2026-06-17T00:59:16.1911124Z             },
2026-06-17T00:59:16.1911234Z             {
2026-06-17T00:59:16.1911381Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.1911487Z               "line": 409
2026-06-17T00:59:16.1911601Z             },
2026-06-17T00:59:16.1911705Z             {
2026-06-17T00:59:16.1911858Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.1911977Z               "line": 156
2026-06-17T00:59:16.1912078Z             }
2026-06-17T00:59:16.1912178Z           ]
2026-06-17T00:59:16.1912278Z         },
2026-06-17T00:59:16.1912384Z         "int": {
2026-06-17T00:59:16.1912493Z           "complete": false,
2026-06-17T00:59:16.1912616Z           "evidence": []
2026-06-17T00:59:16.1912717Z         },
2026-06-17T00:59:16.1912822Z         "unit": {
2026-06-17T00:59:16.1912940Z           "complete": true,
2026-06-17T00:59:16.1913044Z           "evidence": [
2026-06-17T00:59:16.1913158Z             {
2026-06-17T00:59:16.1913299Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.1913419Z               "line": 865
2026-06-17T00:59:16.1913519Z             },
2026-06-17T00:59:16.1913618Z             {
2026-06-17T00:59:16.1913768Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.1913881Z               "line": 879
2026-06-17T00:59:16.1913977Z             },
2026-06-17T00:59:16.1914082Z             {
2026-06-17T00:59:16.1914225Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.1914345Z               "line": 898
2026-06-17T00:59:16.1914440Z             },
2026-06-17T00:59:16.1914549Z             {
2026-06-17T00:59:16.1914683Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.1914792Z               "line": 915
2026-06-17T00:59:16.1914892Z             },
2026-06-17T00:59:16.1914994Z             {
2026-06-17T00:59:16.1915155Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.1915265Z               "line": 441
2026-06-17T00:59:16.1915370Z             }
2026-06-17T00:59:16.1915469Z           ]
2026-06-17T00:59:16.1915575Z         }
2026-06-17T00:59:16.1915675Z       }
2026-06-17T00:59:16.1915779Z     },
2026-06-17T00:59:16.1915888Z     {
2026-06-17T00:59:16.1916025Z       "id": "REQ-HAZARD-VIEWER-ISOLATION",
2026-06-17T00:59:16.1918275Z       "title": "A slow / dead / hostile VIEWER must NEVER stall the controller, the PTY child, or the session drain thread. The broker drain fans output to the controller on the authoritative blocking bounded path (advances delivered_through) but to each viewer via a bounded per-viewer channel with a dedicated writer thread; the drain `try_send`s under the log lock and a viewer whose bounded queue OVERFLOWS (can't keep up) is EVICTED (queue dropped, writer thread ends, removed from the viewers map) — the drain thread NEVER touches a viewer socket, so no viewer write can backpressure or block it. A soft viewer cap bounds the thread count. Viewer eviction never perturbs the controller stream, the delivered_through cursor, or the child.",
2026-06-17T00:59:16.1918625Z       "requiredStages": [
2026-06-17T00:59:16.1918724Z         "unit",
2026-06-17T00:59:16.1918824Z         "int"
2026-06-17T00:59:16.1918930Z       ],
2026-06-17T00:59:16.1919120Z       "stages": {
2026-06-17T00:59:16.1919211Z         "doc": {
2026-06-17T00:59:16.1919338Z           "complete": true,
2026-06-17T00:59:16.1919450Z           "evidence": [
2026-06-17T00:59:16.1919549Z             {
2026-06-17T00:59:16.1919691Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1919802Z               "line": 374
2026-06-17T00:59:16.1919906Z             }
2026-06-17T00:59:16.1920011Z           ]
2026-06-17T00:59:16.1920113Z         },
2026-06-17T00:59:16.1920216Z         "impl": {
2026-06-17T00:59:16.1920321Z           "complete": true,
2026-06-17T00:59:16.1920442Z           "evidence": [
2026-06-17T00:59:16.1920540Z             {
2026-06-17T00:59:16.1920694Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1920809Z               "line": 97
2026-06-17T00:59:16.1920908Z             }
2026-06-17T00:59:16.1921009Z           ]
2026-06-17T00:59:16.1921114Z         },
2026-06-17T00:59:16.1921221Z         "int": {
2026-06-17T00:59:16.1921336Z           "complete": true,
2026-06-17T00:59:16.1921451Z           "evidence": [
2026-06-17T00:59:16.1921555Z             {
2026-06-17T00:59:16.1921703Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.1921809Z               "line": 918
2026-06-17T00:59:16.1921913Z             }
2026-06-17T00:59:16.1922014Z           ]
2026-06-17T00:59:16.1922113Z         },
2026-06-17T00:59:16.1922208Z         "unit": {
2026-06-17T00:59:16.1922328Z           "complete": true,
2026-06-17T00:59:16.1922433Z           "evidence": [
2026-06-17T00:59:16.1922537Z             {
2026-06-17T00:59:16.1922687Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.1922800Z               "line": 1459
2026-06-17T00:59:16.1922909Z             }
2026-06-17T00:59:16.1923016Z           ]
2026-06-17T00:59:16.1923119Z         }
2026-06-17T00:59:16.1923224Z       }
2026-06-17T00:59:16.1923326Z     },
2026-06-17T00:59:16.1923414Z     {
2026-06-17T00:59:16.1923552Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-17T00:59:16.1924408Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-17T00:59:16.1924532Z       "requiredStages": [
2026-06-17T00:59:16.1924642Z         "doc",
2026-06-17T00:59:16.1924741Z         "impl",
2026-06-17T00:59:16.1924847Z         "unit"
2026-06-17T00:59:16.1924938Z       ],
2026-06-17T00:59:16.1925038Z       "stages": {
2026-06-17T00:59:16.1925142Z         "doc": {
2026-06-17T00:59:16.1925248Z           "complete": true,
2026-06-17T00:59:16.1925353Z           "evidence": [
2026-06-17T00:59:16.1925457Z             {
2026-06-17T00:59:16.1925601Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T00:59:16.1925705Z               "line": 359
2026-06-17T00:59:16.1925811Z             }
2026-06-17T00:59:16.1925916Z           ]
2026-06-17T00:59:16.1926020Z         },
2026-06-17T00:59:16.1926131Z         "impl": {
2026-06-17T00:59:16.1926240Z           "complete": true,
2026-06-17T00:59:16.1926471Z           "evidence": [
2026-06-17T00:59:16.1926566Z             {
2026-06-17T00:59:16.1926717Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.1926832Z               "line": 87
2026-06-17T00:59:16.1926933Z             },
2026-06-17T00:59:16.1927036Z             {
2026-06-17T00:59:16.1927181Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.1927294Z               "line": 105
2026-06-17T00:59:16.1927399Z             },
2026-06-17T00:59:16.1927505Z             {
2026-06-17T00:59:16.1927642Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.1927857Z               "line": 55
2026-06-17T00:59:16.1927967Z             },
2026-06-17T00:59:16.1928058Z             {
2026-06-17T00:59:16.1928200Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1928310Z               "line": 31
2026-06-17T00:59:16.1928407Z             },
2026-06-17T00:59:16.1928501Z             {
2026-06-17T00:59:16.1928653Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.1928764Z               "line": 446
2026-06-17T00:59:16.1928868Z             },
2026-06-17T00:59:16.1929024Z             {
2026-06-17T00:59:16.1929175Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.1929288Z               "line": 95
2026-06-17T00:59:16.1929385Z             },
2026-06-17T00:59:16.1929486Z             {
2026-06-17T00:59:16.1929642Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.1929743Z               "line": 29
2026-06-17T00:59:16.1929852Z             },
2026-06-17T00:59:16.1929952Z             {
2026-06-17T00:59:16.1930095Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.1932740Z               "line": 104
2026-06-17T00:59:16.1932879Z             },
2026-06-17T00:59:16.1932988Z             {
2026-06-17T00:59:16.1933169Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.1933299Z               "line": 208
2026-06-17T00:59:16.1933403Z             },
2026-06-17T00:59:16.1933509Z             {
2026-06-17T00:59:16.1933669Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T00:59:16.1933785Z               "line": 28
2026-06-17T00:59:16.1933891Z             },
2026-06-17T00:59:16.1933998Z             {
2026-06-17T00:59:16.1934141Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T00:59:16.1934246Z               "line": 74
2026-06-17T00:59:16.1934353Z             },
2026-06-17T00:59:16.1934458Z             {
2026-06-17T00:59:16.1934616Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.1934734Z               "line": 32
2026-06-17T00:59:16.1934835Z             },
2026-06-17T00:59:16.1934936Z             {
2026-06-17T00:59:16.1935068Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.1935174Z               "line": 40
2026-06-17T00:59:16.1935279Z             },
2026-06-17T00:59:16.1935387Z             {
2026-06-17T00:59:16.1935526Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.1935626Z               "line": 184
2026-06-17T00:59:16.1935726Z             },
2026-06-17T00:59:16.1935827Z             {
2026-06-17T00:59:16.1935979Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.1936085Z               "line": 61
2026-06-17T00:59:16.1936184Z             },
2026-06-17T00:59:16.1936294Z             {
2026-06-17T00:59:16.1936434Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.1936551Z               "line": 131
2026-06-17T00:59:16.1936652Z             },
2026-06-17T00:59:16.1936758Z             {
2026-06-17T00:59:16.1936903Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.1937008Z               "line": 223
2026-06-17T00:59:16.1937113Z             },
2026-06-17T00:59:16.1937216Z             {
2026-06-17T00:59:16.1937363Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T00:59:16.1937615Z               "line": 37
2026-06-17T00:59:16.1937717Z             },
2026-06-17T00:59:16.1937822Z             {
2026-06-17T00:59:16.1937979Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.1938079Z               "line": 38
2026-06-17T00:59:16.1938183Z             },
2026-06-17T00:59:16.1938289Z             {
2026-06-17T00:59:16.1938431Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.1938536Z               "line": 36
2026-06-17T00:59:16.1938642Z             },
2026-06-17T00:59:16.1938746Z             {
2026-06-17T00:59:16.1938889Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T00:59:16.1939195Z               "line": 40
2026-06-17T00:59:16.1939296Z             }
2026-06-17T00:59:16.1939404Z           ]
2026-06-17T00:59:16.1939503Z         },
2026-06-17T00:59:16.1939608Z         "int": {
2026-06-17T00:59:16.1939721Z           "complete": false,
2026-06-17T00:59:16.1939834Z           "evidence": []
2026-06-17T00:59:16.1939940Z         },
2026-06-17T00:59:16.1940050Z         "unit": {
2026-06-17T00:59:16.1940154Z           "complete": true,
2026-06-17T00:59:16.1940269Z           "evidence": [
2026-06-17T00:59:16.1940374Z             {
2026-06-17T00:59:16.1940536Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.1940646Z               "line": 212
2026-06-17T00:59:16.1940746Z             },
2026-06-17T00:59:16.1940841Z             {
2026-06-17T00:59:16.1940994Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-17T00:59:16.1941108Z               "line": 136
2026-06-17T00:59:16.1941214Z             },
2026-06-17T00:59:16.1941318Z             {
2026-06-17T00:59:16.1941470Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.1941571Z               "line": 685
2026-06-17T00:59:16.1941675Z             },
2026-06-17T00:59:16.1941780Z             {
2026-06-17T00:59:16.1941933Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.1942052Z               "line": 224
2026-06-17T00:59:16.1942144Z             },
2026-06-17T00:59:16.1942248Z             {
2026-06-17T00:59:16.1942389Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T00:59:16.1942495Z               "line": 206
2026-06-17T00:59:16.1942605Z             },
2026-06-17T00:59:16.1942708Z             {
2026-06-17T00:59:16.1942853Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.1942958Z               "line": 112
2026-06-17T00:59:16.1943057Z             },
2026-06-17T00:59:16.1943158Z             {
2026-06-17T00:59:16.1943301Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T00:59:16.1943419Z               "line": 157
2026-06-17T00:59:16.1943525Z             },
2026-06-17T00:59:16.1943634Z             {
2026-06-17T00:59:16.1943778Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.1943882Z               "line": 215
2026-06-17T00:59:16.1943986Z             },
2026-06-17T00:59:16.1944088Z             {
2026-06-17T00:59:16.1944234Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.1944335Z               "line": 141
2026-06-17T00:59:16.1944441Z             },
2026-06-17T00:59:16.1944544Z             {
2026-06-17T00:59:16.1944681Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T00:59:16.1944787Z               "line": 162
2026-06-17T00:59:16.1944894Z             }
2026-06-17T00:59:16.1944998Z           ]
2026-06-17T00:59:16.1945100Z         }
2026-06-17T00:59:16.1945205Z       }
2026-06-17T00:59:16.1945304Z     },
2026-06-17T00:59:16.1945405Z     {
2026-06-17T00:59:16.1945552Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-17T00:59:16.1945739Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-17T00:59:16.1945858Z       "requiredStages": [
2026-06-17T00:59:16.1945967Z         "impl",
2026-06-17T00:59:16.1946078Z         "unit"
2026-06-17T00:59:16.1946182Z       ],
2026-06-17T00:59:16.1946291Z       "stages": {
2026-06-17T00:59:16.1946501Z         "doc": {
2026-06-17T00:59:16.1946601Z           "complete": false,
2026-06-17T00:59:16.1946726Z           "evidence": []
2026-06-17T00:59:16.1946826Z         },
2026-06-17T00:59:16.1946926Z         "impl": {
2026-06-17T00:59:16.1947046Z           "complete": true,
2026-06-17T00:59:16.1947164Z           "evidence": [
2026-06-17T00:59:16.1947265Z             {
2026-06-17T00:59:16.1947407Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.1947511Z               "line": 95
2026-06-17T00:59:16.1947616Z             },
2026-06-17T00:59:16.1947724Z             {
2026-06-17T00:59:16.1947957Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1948072Z               "line": 94
2026-06-17T00:59:16.1948171Z             }
2026-06-17T00:59:16.1948273Z           ]
2026-06-17T00:59:16.1948373Z         },
2026-06-17T00:59:16.1948472Z         "int": {
2026-06-17T00:59:16.1948592Z           "complete": false,
2026-06-17T00:59:16.1948692Z           "evidence": []
2026-06-17T00:59:16.1948801Z         },
2026-06-17T00:59:16.1948902Z         "unit": {
2026-06-17T00:59:16.1949106Z           "complete": true,
2026-06-17T00:59:16.1949222Z           "evidence": [
2026-06-17T00:59:16.1949325Z             {
2026-06-17T00:59:16.1949493Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.1949603Z               "line": 250
2026-06-17T00:59:16.1949707Z             },
2026-06-17T00:59:16.1949808Z             {
2026-06-17T00:59:16.1949955Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T00:59:16.1950063Z               "line": 198
2026-06-17T00:59:16.1950168Z             },
2026-06-17T00:59:16.1950267Z             {
2026-06-17T00:59:16.1950408Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1950519Z               "line": 487
2026-06-17T00:59:16.1950615Z             },
2026-06-17T00:59:16.1950709Z             {
2026-06-17T00:59:16.1950848Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.1950963Z               "line": 520
2026-06-17T00:59:16.1951062Z             }
2026-06-17T00:59:16.1951163Z           ]
2026-06-17T00:59:16.1951268Z         }
2026-06-17T00:59:16.1951372Z       }
2026-06-17T00:59:16.1951474Z     },
2026-06-17T00:59:16.1951578Z     {
2026-06-17T00:59:16.1951701Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-17T00:59:16.1951916Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-17T00:59:16.1952035Z       "requiredStages": [
2026-06-17T00:59:16.1952136Z         "impl",
2026-06-17T00:59:16.1952240Z         "unit"
2026-06-17T00:59:16.1952345Z       ],
2026-06-17T00:59:16.1952451Z       "stages": {
2026-06-17T00:59:16.1952555Z         "doc": {
2026-06-17T00:59:16.1952675Z           "complete": false,
2026-06-17T00:59:16.1952785Z           "evidence": []
2026-06-17T00:59:16.1952883Z         },
2026-06-17T00:59:16.1952987Z         "impl": {
2026-06-17T00:59:16.1953108Z           "complete": true,
2026-06-17T00:59:16.1953212Z           "evidence": [
2026-06-17T00:59:16.1953312Z             {
2026-06-17T00:59:16.1953456Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1953560Z               "line": 262
2026-06-17T00:59:16.1953670Z             },
2026-06-17T00:59:16.1953770Z             {
2026-06-17T00:59:16.1953903Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1954009Z               "line": 307
2026-06-17T00:59:16.1954109Z             },
2026-06-17T00:59:16.1954213Z             {
2026-06-17T00:59:16.1954357Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1954461Z               "line": 319
2026-06-17T00:59:16.1954570Z             }
2026-06-17T00:59:16.1954672Z           ]
2026-06-17T00:59:16.1954776Z         },
2026-06-17T00:59:16.1954880Z         "int": {
2026-06-17T00:59:16.1954996Z           "complete": false,
2026-06-17T00:59:16.1955105Z           "evidence": []
2026-06-17T00:59:16.1955209Z         },
2026-06-17T00:59:16.1955309Z         "unit": {
2026-06-17T00:59:16.1955530Z           "complete": true,
2026-06-17T00:59:16.1955640Z           "evidence": [
2026-06-17T00:59:16.1955742Z             {
2026-06-17T00:59:16.1955883Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1955994Z               "line": 455
2026-06-17T00:59:16.1956098Z             },
2026-06-17T00:59:16.1956198Z             {
2026-06-17T00:59:16.1956342Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.1956455Z               "line": 499
2026-06-17T00:59:16.1956562Z             }
2026-06-17T00:59:16.1956670Z           ]
2026-06-17T00:59:16.1956770Z         }
2026-06-17T00:59:16.1956990Z       }
2026-06-17T00:59:16.1957090Z     },
2026-06-17T00:59:16.1957191Z     {
2026-06-17T00:59:16.1957314Z       "id": "REQ-HOST-RUN-1",
2026-06-17T00:59:16.1959985Z       "title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.self]` command template into a broker-held PTY (the spawn-session seam, brain.rs spawn_session_pid — same broker path shellhost.rs launch_shell_brokered_in uses for shells, now for kind=\"harness\" self-role), registers the perch under the given endpoint id, returns the id. Reverses today's harness-hosted-only launch (external launcher → `api bind`). Non-interactive flag set (--adapter <a[:profile]> --id <id> --create --resume <session> --attach|--start|--view) covers every terminal action of the W2 interactive picker so shortcuts (cc-<id>) bake fully non-interactive launches; composite adapter:profile resolves via registry::resolve_option leaf-replace overlay.",
2026-06-17T00:59:16.1960111Z       "requiredStages": [
2026-06-17T00:59:16.1960219Z         "impl",
2026-06-17T00:59:16.1960324Z         "unit",
2026-06-17T00:59:16.1960431Z         "int"
2026-06-17T00:59:16.1960534Z       ],
2026-06-17T00:59:16.1960633Z       "stages": {
2026-06-17T00:59:16.1960738Z         "doc": {
2026-06-17T00:59:16.1960851Z           "complete": false,
2026-06-17T00:59:16.1960960Z           "evidence": []
2026-06-17T00:59:16.1961060Z         },
2026-06-17T00:59:16.1961170Z         "impl": {
2026-06-17T00:59:16.1961274Z           "complete": true,
2026-06-17T00:59:16.1961380Z           "evidence": [
2026-06-17T00:59:16.1961480Z             {
2026-06-17T00:59:16.1961641Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1961747Z               "line": 24
2026-06-17T00:59:16.1961851Z             },
2026-06-17T00:59:16.1961951Z             {
2026-06-17T00:59:16.1962104Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1962209Z               "line": 63
2026-06-17T00:59:16.1962319Z             },
2026-06-17T00:59:16.1962419Z             {
2026-06-17T00:59:16.1962571Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1962673Z               "line": 110
2026-06-17T00:59:16.1962781Z             },
2026-06-17T00:59:16.1962886Z             {
2026-06-17T00:59:16.1963016Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1963134Z               "line": 1220
2026-06-17T00:59:16.1963240Z             }
2026-06-17T00:59:16.1963336Z           ]
2026-06-17T00:59:16.1963438Z         },
2026-06-17T00:59:16.1963543Z         "int": {
2026-06-17T00:59:16.1963663Z           "complete": true,
2026-06-17T00:59:16.1963772Z           "evidence": [
2026-06-17T00:59:16.1963877Z             {
2026-06-17T00:59:16.1964025Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.1964134Z               "line": 279
2026-06-17T00:59:16.1964240Z             }
2026-06-17T00:59:16.1964340Z           ]
2026-06-17T00:59:16.1964439Z         },
2026-06-17T00:59:16.1964540Z         "unit": {
2026-06-17T00:59:16.1964659Z           "complete": true,
2026-06-17T00:59:16.1964764Z           "evidence": [
2026-06-17T00:59:16.1964869Z             {
2026-06-17T00:59:16.1965017Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1965130Z               "line": 150
2026-06-17T00:59:16.1965228Z             },
2026-06-17T00:59:16.1965436Z             {
2026-06-17T00:59:16.1965585Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1965689Z               "line": 170
2026-06-17T00:59:16.1965793Z             },
2026-06-17T00:59:16.1965893Z             {
2026-06-17T00:59:16.1966043Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1966153Z               "line": 203
2026-06-17T00:59:16.1966254Z             }
2026-06-17T00:59:16.1966349Z           ]
2026-06-17T00:59:16.1966453Z         }
2026-06-17T00:59:16.1966554Z       }
2026-06-17T00:59:16.1966654Z     },
2026-06-17T00:59:16.1966758Z     {
2026-06-17T00:59:16.1966964Z       "id": "REQ-HOST-RUN-2",
2026-06-17T00:59:16.1968779Z       "title": "Project-scoped working directory for spt-hosted bringup: `spt endpoint run` lands the broker-spawned harness PTY in the user's PROJECT cwd, not the daemon's, via an additive `SpawnReq.cwd` field carried through the broker PTY spawn (portable-pty CommandBuilder cwd). N-1-safe wire change (additive, defaulted). Required because the consumer (Claude Code) is project-scoped: broker-inherited cwd = the daemon's cwd = the wrong `.claude`, wrong session history, wrong digest source; `cc <id>` at a project root MUST land the harness in that project. W1 ships broker-inherited cwd as a bringup-proof shortcut only; this REQ must land before the M12 gate (doyle, 2026-06-14).",
2026-06-17T00:59:16.1968901Z       "requiredStages": [
2026-06-17T00:59:16.1969087Z         "impl",
2026-06-17T00:59:16.1969188Z         "unit",
2026-06-17T00:59:16.1969291Z         "int"
2026-06-17T00:59:16.1969393Z       ],
2026-06-17T00:59:16.1969507Z       "stages": {
2026-06-17T00:59:16.1969596Z         "doc": {
2026-06-17T00:59:16.1969717Z           "complete": false,
2026-06-17T00:59:16.1969822Z           "evidence": []
2026-06-17T00:59:16.1969921Z         },
2026-06-17T00:59:16.1970022Z         "impl": {
2026-06-17T00:59:16.1970131Z           "complete": true,
2026-06-17T00:59:16.1970245Z           "evidence": [
2026-06-17T00:59:16.1970351Z             {
2026-06-17T00:59:16.1970498Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T00:59:16.1970613Z               "line": 111
2026-06-17T00:59:16.1970709Z             },
2026-06-17T00:59:16.1970812Z             {
2026-06-17T00:59:16.1970943Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T00:59:16.1971057Z               "line": 113
2026-06-17T00:59:16.1971160Z             }
2026-06-17T00:59:16.1971260Z           ]
2026-06-17T00:59:16.1971369Z         },
2026-06-17T00:59:16.1971472Z         "int": {
2026-06-17T00:59:16.1971587Z           "complete": true,
2026-06-17T00:59:16.1971702Z           "evidence": [
2026-06-17T00:59:16.1971801Z             {
2026-06-17T00:59:16.1971940Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.1972050Z               "line": 454
2026-06-17T00:59:16.1972154Z             }
2026-06-17T00:59:16.1972250Z           ]
2026-06-17T00:59:16.1972345Z         },
2026-06-17T00:59:16.1972454Z         "unit": {
2026-06-17T00:59:16.1972570Z           "complete": true,
2026-06-17T00:59:16.1972669Z           "evidence": [
2026-06-17T00:59:16.1972773Z             {
2026-06-17T00:59:16.1972923Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T00:59:16.1973027Z               "line": 86
2026-06-17T00:59:16.1973132Z             }
2026-06-17T00:59:16.1973238Z           ]
2026-06-17T00:59:16.1973336Z         }
2026-06-17T00:59:16.1973432Z       }
2026-06-17T00:59:16.1973533Z     },
2026-06-17T00:59:16.1973632Z     {
2026-06-17T00:59:16.1973742Z       "id": "REQ-INFRA-1",
2026-06-17T00:59:16.1973956Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-17T00:59:16.1974074Z       "requiredStages": [],
2026-06-17T00:59:16.1974175Z       "stages": {
2026-06-17T00:59:16.1974281Z         "doc": {
2026-06-17T00:59:16.1974389Z           "complete": false,
2026-06-17T00:59:16.1974499Z           "evidence": []
2026-06-17T00:59:16.1974605Z         },
2026-06-17T00:59:16.1974825Z         "impl": {
2026-06-17T00:59:16.1974938Z           "complete": false,
2026-06-17T00:59:16.1975061Z           "evidence": []
2026-06-17T00:59:16.1975158Z         },
2026-06-17T00:59:16.1975262Z         "int": {
2026-06-17T00:59:16.1975385Z           "complete": false,
2026-06-17T00:59:16.1975487Z           "evidence": []
2026-06-17T00:59:16.1975591Z         },
2026-06-17T00:59:16.1975696Z         "unit": {
2026-06-17T00:59:16.1975811Z           "complete": false,
2026-06-17T00:59:16.1975915Z           "evidence": []
2026-06-17T00:59:16.1976015Z         }
2026-06-17T00:59:16.1976122Z       }
2026-06-17T00:59:16.1976319Z     },
2026-06-17T00:59:16.1976425Z     {
2026-06-17T00:59:16.1976537Z       "id": "REQ-INST-1",
2026-06-17T00:59:16.1976723Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-17T00:59:16.1976838Z       "requiredStages": [],
2026-06-17T00:59:16.1976941Z       "stages": {
2026-06-17T00:59:16.1977052Z         "doc": {
2026-06-17T00:59:16.1977157Z           "complete": false,
2026-06-17T00:59:16.1977275Z           "evidence": []
2026-06-17T00:59:16.1977377Z         },
2026-06-17T00:59:16.1977472Z         "impl": {
2026-06-17T00:59:16.1977595Z           "complete": false,
2026-06-17T00:59:16.1977706Z           "evidence": []
2026-06-17T00:59:16.1977805Z         },
2026-06-17T00:59:16.1977909Z         "int": {
2026-06-17T00:59:16.1978021Z           "complete": false,
2026-06-17T00:59:16.1978125Z           "evidence": []
2026-06-17T00:59:16.1978224Z         },
2026-06-17T00:59:16.1978326Z         "unit": {
2026-06-17T00:59:16.1978439Z           "complete": false,
2026-06-17T00:59:16.1978544Z           "evidence": []
2026-06-17T00:59:16.1978646Z         }
2026-06-17T00:59:16.1978749Z       }
2026-06-17T00:59:16.1978850Z     },
2026-06-17T00:59:16.1979036Z     {
2026-06-17T00:59:16.1979148Z       "id": "REQ-INST-10",
2026-06-17T00:59:16.1979409Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-17T00:59:16.1979527Z       "requiredStages": [
2026-06-17T00:59:16.1979633Z         "impl",
2026-06-17T00:59:16.1979738Z         "unit"
2026-06-17T00:59:16.1979837Z       ],
2026-06-17T00:59:16.1979948Z       "stages": {
2026-06-17T00:59:16.1980053Z         "doc": {
2026-06-17T00:59:16.1980166Z           "complete": false,
2026-06-17T00:59:16.1980287Z           "evidence": []
2026-06-17T00:59:16.1980387Z         },
2026-06-17T00:59:16.1980485Z         "impl": {
2026-06-17T00:59:16.1980596Z           "complete": true,
2026-06-17T00:59:16.1980710Z           "evidence": [
2026-06-17T00:59:16.1980810Z             {
2026-06-17T00:59:16.1980973Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1981073Z               "line": 616
2026-06-17T00:59:16.1981173Z             },
2026-06-17T00:59:16.1981274Z             {
2026-06-17T00:59:16.1981425Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1981536Z               "line": 693
2026-06-17T00:59:16.1981636Z             },
2026-06-17T00:59:16.1981739Z             {
2026-06-17T00:59:16.1981877Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1981976Z               "line": 13
2026-06-17T00:59:16.1982080Z             },
2026-06-17T00:59:16.1982185Z             {
2026-06-17T00:59:16.1982333Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1982442Z               "line": 67
2026-06-17T00:59:16.1982544Z             },
2026-06-17T00:59:16.1982652Z             {
2026-06-17T00:59:16.1982786Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.1982900Z               "line": 18
2026-06-17T00:59:16.1983009Z             },
2026-06-17T00:59:16.1983120Z             {
2026-06-17T00:59:16.1983253Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.1983363Z               "line": 444
2026-06-17T00:59:16.1983464Z             }
2026-06-17T00:59:16.1983558Z           ]
2026-06-17T00:59:16.1983663Z         },
2026-06-17T00:59:16.1983769Z         "int": {
2026-06-17T00:59:16.1983987Z           "complete": false,
2026-06-17T00:59:16.1984088Z           "evidence": []
2026-06-17T00:59:16.1984197Z         },
2026-06-17T00:59:16.1984302Z         "unit": {
2026-06-17T00:59:16.1984418Z           "complete": true,
2026-06-17T00:59:16.1984521Z           "evidence": [
2026-06-17T00:59:16.1984621Z             {
2026-06-17T00:59:16.1984759Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1984864Z               "line": 900
2026-06-17T00:59:16.1984968Z             },
2026-06-17T00:59:16.1985069Z             {
2026-06-17T00:59:16.1985216Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1985422Z               "line": 1233
2026-06-17T00:59:16.1985522Z             },
2026-06-17T00:59:16.1985626Z             {
2026-06-17T00:59:16.1985770Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1985879Z               "line": 1244
2026-06-17T00:59:16.1985990Z             },
2026-06-17T00:59:16.1986090Z             {
2026-06-17T00:59:16.1986232Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1986338Z               "line": 1260
2026-06-17T00:59:16.1986442Z             },
2026-06-17T00:59:16.1986547Z             {
2026-06-17T00:59:16.1986687Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1986794Z               "line": 1276
2026-06-17T00:59:16.1986894Z             },
2026-06-17T00:59:16.1986999Z             {
2026-06-17T00:59:16.1987145Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1987263Z               "line": 1298
2026-06-17T00:59:16.1987365Z             },
2026-06-17T00:59:16.1987464Z             {
2026-06-17T00:59:16.1987607Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1987717Z               "line": 1603
2026-06-17T00:59:16.1987821Z             },
2026-06-17T00:59:16.1987922Z             {
2026-06-17T00:59:16.1988065Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1988178Z               "line": 130
2026-06-17T00:59:16.1988285Z             },
2026-06-17T00:59:16.1988389Z             {
2026-06-17T00:59:16.1988527Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1988633Z               "line": 167
2026-06-17T00:59:16.1988737Z             },
2026-06-17T00:59:16.1988832Z             {
2026-06-17T00:59:16.1989047Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1989152Z               "line": 175
2026-06-17T00:59:16.1989262Z             },
2026-06-17T00:59:16.1989366Z             {
2026-06-17T00:59:16.1989505Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T00:59:16.1989624Z               "line": 183
2026-06-17T00:59:16.1989727Z             },
2026-06-17T00:59:16.1989828Z             {
2026-06-17T00:59:16.1989955Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.1990059Z               "line": 896
2026-06-17T00:59:16.1990159Z             }
2026-06-17T00:59:16.1990256Z           ]
2026-06-17T00:59:16.1990355Z         }
2026-06-17T00:59:16.1990450Z       }
2026-06-17T00:59:16.1990546Z     },
2026-06-17T00:59:16.1990646Z     {
2026-06-17T00:59:16.1990765Z       "id": "REQ-INST-11",
2026-06-17T00:59:16.1991003Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-17T00:59:16.1991128Z       "requiredStages": [
2026-06-17T00:59:16.1991228Z         "impl",
2026-06-17T00:59:16.1991337Z         "unit"
2026-06-17T00:59:16.1991443Z       ],
2026-06-17T00:59:16.1991543Z       "stages": {
2026-06-17T00:59:16.1991642Z         "doc": {
2026-06-17T00:59:16.1991763Z           "complete": false,
2026-06-17T00:59:16.1991881Z           "evidence": []
2026-06-17T00:59:16.1991981Z         },
2026-06-17T00:59:16.1992087Z         "impl": {
2026-06-17T00:59:16.1992210Z           "complete": true,
2026-06-17T00:59:16.1992318Z           "evidence": [
2026-06-17T00:59:16.1992423Z             {
2026-06-17T00:59:16.1992569Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1992803Z               "line": 482
2026-06-17T00:59:16.1992907Z             },
2026-06-17T00:59:16.1993007Z             {
2026-06-17T00:59:16.1993170Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1993279Z               "line": 297
2026-06-17T00:59:16.1993385Z             },
2026-06-17T00:59:16.1993484Z             {
2026-06-17T00:59:16.1993627Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T00:59:16.1993733Z               "line": 59
2026-06-17T00:59:16.1993837Z             },
2026-06-17T00:59:16.1993942Z             {
2026-06-17T00:59:16.1994167Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1994276Z               "line": 4996
2026-06-17T00:59:16.1994377Z             },
2026-06-17T00:59:16.1994475Z             {
2026-06-17T00:59:16.1994610Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1994720Z               "line": 6809
2026-06-17T00:59:16.1994819Z             }
2026-06-17T00:59:16.1994930Z           ]
2026-06-17T00:59:16.1995040Z         },
2026-06-17T00:59:16.1995142Z         "int": {
2026-06-17T00:59:16.1995252Z           "complete": false,
2026-06-17T00:59:16.1995362Z           "evidence": []
2026-06-17T00:59:16.1995467Z         },
2026-06-17T00:59:16.1995566Z         "unit": {
2026-06-17T00:59:16.1995682Z           "complete": true,
2026-06-17T00:59:16.1995781Z           "evidence": [
2026-06-17T00:59:16.1995886Z             {
2026-06-17T00:59:16.1996030Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1996148Z               "line": 1403
2026-06-17T00:59:16.1996249Z             },
2026-06-17T00:59:16.1996354Z             {
2026-06-17T00:59:16.1996501Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.1996608Z               "line": 1436
2026-06-17T00:59:16.1996706Z             },
2026-06-17T00:59:16.1996807Z             {
2026-06-17T00:59:16.1996969Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.1997088Z               "line": 527
2026-06-17T00:59:16.1997184Z             },
2026-06-17T00:59:16.1997280Z             {
2026-06-17T00:59:16.1997425Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T00:59:16.1997540Z               "line": 160
2026-06-17T00:59:16.1997639Z             },
2026-06-17T00:59:16.1997752Z             {
2026-06-17T00:59:16.1997896Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T00:59:16.1998000Z               "line": 190
2026-06-17T00:59:16.1998104Z             },
2026-06-17T00:59:16.1998206Z             {
2026-06-17T00:59:16.1998348Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T00:59:16.1998463Z               "line": 225
2026-06-17T00:59:16.1998563Z             },
2026-06-17T00:59:16.1998662Z             {
2026-06-17T00:59:16.1998797Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.1998911Z               "line": 7308
2026-06-17T00:59:16.1999078Z             }
2026-06-17T00:59:16.1999179Z           ]
2026-06-17T00:59:16.1999288Z         }
2026-06-17T00:59:16.1999402Z       }
2026-06-17T00:59:16.1999498Z     },
2026-06-17T00:59:16.1999597Z     {
2026-06-17T00:59:16.1999707Z       "id": "REQ-INST-12",
2026-06-17T00:59:16.2000042Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-17T00:59:16.2000156Z       "requiredStages": [
2026-06-17T00:59:16.2000264Z         "impl",
2026-06-17T00:59:16.2000369Z         "unit"
2026-06-17T00:59:16.2000473Z       ],
2026-06-17T00:59:16.2000577Z       "stages": {
2026-06-17T00:59:16.2000676Z         "doc": {
2026-06-17T00:59:16.2000797Z           "complete": false,
2026-06-17T00:59:16.2000910Z           "evidence": []
2026-06-17T00:59:16.2001010Z         },
2026-06-17T00:59:16.2001116Z         "impl": {
2026-06-17T00:59:16.2001229Z           "complete": true,
2026-06-17T00:59:16.2001339Z           "evidence": [
2026-06-17T00:59:16.2001435Z             {
2026-06-17T00:59:16.2001683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2001778Z               "line": 534
2026-06-17T00:59:16.2001888Z             },
2026-06-17T00:59:16.2001988Z             {
2026-06-17T00:59:16.2002136Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2002245Z               "line": 627
2026-06-17T00:59:16.2002351Z             },
2026-06-17T00:59:16.2002455Z             {
2026-06-17T00:59:16.2002594Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2002704Z               "line": 707
2026-06-17T00:59:16.2002808Z             },
2026-06-17T00:59:16.2003016Z             {
2026-06-17T00:59:16.2003162Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2003272Z               "line": 96
2026-06-17T00:59:16.2003377Z             },
2026-06-17T00:59:16.2003482Z             {
2026-06-17T00:59:16.2003630Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2003735Z               "line": 269
2026-06-17T00:59:16.2003839Z             },
2026-06-17T00:59:16.2003945Z             {
2026-06-17T00:59:16.2004083Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2004202Z               "line": 135
2026-06-17T00:59:16.2004312Z             }
2026-06-17T00:59:16.2004412Z           ]
2026-06-17T00:59:16.2004521Z         },
2026-06-17T00:59:16.2004622Z         "int": {
2026-06-17T00:59:16.2004741Z           "complete": false,
2026-06-17T00:59:16.2004846Z           "evidence": []
2026-06-17T00:59:16.2004947Z         },
2026-06-17T00:59:16.2005045Z         "unit": {
2026-06-17T00:59:16.2005156Z           "complete": true,
2026-06-17T00:59:16.2005271Z           "evidence": [
2026-06-17T00:59:16.2005369Z             {
2026-06-17T00:59:16.2005519Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2005647Z               "line": 1478
2026-06-17T00:59:16.2005764Z             },
2026-06-17T00:59:16.2005870Z             {
2026-06-17T00:59:16.2006022Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2006131Z               "line": 1501
2026-06-17T00:59:16.2006233Z             },
2026-06-17T00:59:16.2006337Z             {
2026-06-17T00:59:16.2006485Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2006590Z               "line": 1538
2026-06-17T00:59:16.2006699Z             },
2026-06-17T00:59:16.2006800Z             {
2026-06-17T00:59:16.2006942Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2007047Z               "line": 457
2026-06-17T00:59:16.2007153Z             },
2026-06-17T00:59:16.2007257Z             {
2026-06-17T00:59:16.2007400Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2007520Z               "line": 172
2026-06-17T00:59:16.2007624Z             },
2026-06-17T00:59:16.2007724Z             {
2026-06-17T00:59:16.2007868Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2007972Z               "line": 193
2026-06-17T00:59:16.2008076Z             },
2026-06-17T00:59:16.2008185Z             {
2026-06-17T00:59:16.2008326Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2008437Z               "line": 219
2026-06-17T00:59:16.2008537Z             }
2026-06-17T00:59:16.2008636Z           ]
2026-06-17T00:59:16.2008746Z         }
2026-06-17T00:59:16.2008837Z       }
2026-06-17T00:59:16.2009003Z     },
2026-06-17T00:59:16.2009109Z     {
2026-06-17T00:59:16.2009213Z       "id": "REQ-INST-13",
2026-06-17T00:59:16.2009424Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-17T00:59:16.2009547Z       "requiredStages": [
2026-06-17T00:59:16.2009662Z         "impl",
2026-06-17T00:59:16.2009762Z         "unit"
2026-06-17T00:59:16.2009857Z       ],
2026-06-17T00:59:16.2009962Z       "stages": {
2026-06-17T00:59:16.2010068Z         "doc": {
2026-06-17T00:59:16.2010186Z           "complete": false,
2026-06-17T00:59:16.2010292Z           "evidence": []
2026-06-17T00:59:16.2010496Z         },
2026-06-17T00:59:16.2010597Z         "impl": {
2026-06-17T00:59:16.2010707Z           "complete": true,
2026-06-17T00:59:16.2010820Z           "evidence": [
2026-06-17T00:59:16.2010914Z             {
2026-06-17T00:59:16.2011052Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2011146Z               "line": 100
2026-06-17T00:59:16.2011241Z             },
2026-06-17T00:59:16.2011352Z             {
2026-06-17T00:59:16.2011508Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2011647Z               "line": 158
2026-06-17T00:59:16.2011967Z             }
2026-06-17T00:59:16.2012067Z           ]
2026-06-17T00:59:16.2012166Z         },
2026-06-17T00:59:16.2012273Z         "int": {
2026-06-17T00:59:16.2012400Z           "complete": false,
2026-06-17T00:59:16.2012505Z           "evidence": []
2026-06-17T00:59:16.2012602Z         },
2026-06-17T00:59:16.2012705Z         "unit": {
2026-06-17T00:59:16.2012824Z           "complete": true,
2026-06-17T00:59:16.2015487Z           "evidence": [
2026-06-17T00:59:16.2015620Z             {
2026-06-17T00:59:16.2015788Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2015911Z               "line": 248
2026-06-17T00:59:16.2016016Z             },
2026-06-17T00:59:16.2016122Z             {
2026-06-17T00:59:16.2016272Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T00:59:16.2016377Z               "line": 266
2026-06-17T00:59:16.2016483Z             }
2026-06-17T00:59:16.2016573Z           ]
2026-06-17T00:59:16.2016691Z         }
2026-06-17T00:59:16.2016803Z       }
2026-06-17T00:59:16.2016897Z     },
2026-06-17T00:59:16.2016992Z     {
2026-06-17T00:59:16.2017113Z       "id": "REQ-INST-14",
2026-06-17T00:59:16.2017532Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-17T00:59:16.2017650Z       "requiredStages": [
2026-06-17T00:59:16.2017761Z         "doc",
2026-06-17T00:59:16.2017866Z         "impl",
2026-06-17T00:59:16.2017965Z         "unit"
2026-06-17T00:59:16.2018066Z       ],
2026-06-17T00:59:16.2018160Z       "stages": {
2026-06-17T00:59:16.2018266Z         "doc": {
2026-06-17T00:59:16.2018381Z           "complete": true,
2026-06-17T00:59:16.2018484Z           "evidence": [
2026-06-17T00:59:16.2018588Z             {
2026-06-17T00:59:16.2018713Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2018815Z               "line": 540
2026-06-17T00:59:16.2018915Z             },
2026-06-17T00:59:16.2019093Z             {
2026-06-17T00:59:16.2019225Z               "path": "docs/STORAGE.md",
2026-06-17T00:59:16.2019336Z               "line": 49
2026-06-17T00:59:16.2019445Z             }
2026-06-17T00:59:16.2019545Z           ]
2026-06-17T00:59:16.2019646Z         },
2026-06-17T00:59:16.2019751Z         "impl": {
2026-06-17T00:59:16.2019859Z           "complete": true,
2026-06-17T00:59:16.2019965Z           "evidence": [
2026-06-17T00:59:16.2020070Z             {
2026-06-17T00:59:16.2020237Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2020346Z               "line": 404
2026-06-17T00:59:16.2020441Z             },
2026-06-17T00:59:16.2020542Z             {
2026-06-17T00:59:16.2020689Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2020794Z               "line": 346
2026-06-17T00:59:16.2020895Z             },
2026-06-17T00:59:16.2020994Z             {
2026-06-17T00:59:16.2021138Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2021244Z               "line": 270
2026-06-17T00:59:16.2021342Z             },
2026-06-17T00:59:16.2021446Z             {
2026-06-17T00:59:16.2021575Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2021692Z               "line": 1433
2026-06-17T00:59:16.2021791Z             }
2026-06-17T00:59:16.2021888Z           ]
2026-06-17T00:59:16.2021992Z         },
2026-06-17T00:59:16.2022092Z         "int": {
2026-06-17T00:59:16.2022349Z           "complete": false,
2026-06-17T00:59:16.2022455Z           "evidence": []
2026-06-17T00:59:16.2022560Z         },
2026-06-17T00:59:16.2022664Z         "unit": {
2026-06-17T00:59:16.2022779Z           "complete": true,
2026-06-17T00:59:16.2022880Z           "evidence": [
2026-06-17T00:59:16.2022975Z             {
2026-06-17T00:59:16.2023133Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2023237Z               "line": 1111
2026-06-17T00:59:16.2023346Z             },
2026-06-17T00:59:16.2023448Z             {
2026-06-17T00:59:16.2023594Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2023801Z               "line": 912
2026-06-17T00:59:16.2023899Z             },
2026-06-17T00:59:16.2024008Z             {
2026-06-17T00:59:16.2024151Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2024254Z               "line": 1173
2026-06-17T00:59:16.2024358Z             },
2026-06-17T00:59:16.2024464Z             {
2026-06-17T00:59:16.2024607Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2024711Z               "line": 602
2026-06-17T00:59:16.2024808Z             },
2026-06-17T00:59:16.2024902Z             {
2026-06-17T00:59:16.2025026Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2025127Z               "line": 7384
2026-06-17T00:59:16.2025241Z             }
2026-06-17T00:59:16.2025351Z           ]
2026-06-17T00:59:16.2025465Z         }
2026-06-17T00:59:16.2025570Z       }
2026-06-17T00:59:16.2025665Z     },
2026-06-17T00:59:16.2025766Z     {
2026-06-17T00:59:16.2025889Z       "id": "REQ-INST-15",
2026-06-17T00:59:16.2026654Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-17T00:59:16.2026771Z       "requiredStages": [
2026-06-17T00:59:16.2026870Z         "doc",
2026-06-17T00:59:16.2026981Z         "impl",
2026-06-17T00:59:16.2027072Z         "unit"
2026-06-17T00:59:16.2027175Z       ],
2026-06-17T00:59:16.2027281Z       "stages": {
2026-06-17T00:59:16.2027386Z         "doc": {
2026-06-17T00:59:16.2027504Z           "complete": true,
2026-06-17T00:59:16.2027606Z           "evidence": [
2026-06-17T00:59:16.2027706Z             {
2026-06-17T00:59:16.2027915Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-17T00:59:16.2028016Z               "line": 3
2026-06-17T00:59:16.2028120Z             }
2026-06-17T00:59:16.2028215Z           ]
2026-06-17T00:59:16.2028321Z         },
2026-06-17T00:59:16.2028416Z         "impl": {
2026-06-17T00:59:16.2028530Z           "complete": true,
2026-06-17T00:59:16.2028636Z           "evidence": [
2026-06-17T00:59:16.2028734Z             {
2026-06-17T00:59:16.2028898Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2029077Z               "line": 353
2026-06-17T00:59:16.2029187Z             },
2026-06-17T00:59:16.2029282Z             {
2026-06-17T00:59:16.2029447Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2029552Z               "line": 60
2026-06-17T00:59:16.2029653Z             },
2026-06-17T00:59:16.2029756Z             {
2026-06-17T00:59:16.2029906Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2030010Z               "line": 368
2026-06-17T00:59:16.2030105Z             },
2026-06-17T00:59:16.2030206Z             {
2026-06-17T00:59:16.2030353Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2030463Z               "line": 417
2026-06-17T00:59:16.2030568Z             },
2026-06-17T00:59:16.2030663Z             {
2026-06-17T00:59:16.2030802Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2030911Z               "line": 19
2026-06-17T00:59:16.2031001Z             },
2026-06-17T00:59:16.2031226Z             {
2026-06-17T00:59:16.2031363Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2031475Z               "line": 70
2026-06-17T00:59:16.2031578Z             },
2026-06-17T00:59:16.2031678Z             {
2026-06-17T00:59:16.2031813Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2031911Z               "line": 96
2026-06-17T00:59:16.2032016Z             },
2026-06-17T00:59:16.2032116Z             {
2026-06-17T00:59:16.2032252Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2032361Z               "line": 121
2026-06-17T00:59:16.2032562Z             },
2026-06-17T00:59:16.2032662Z             {
2026-06-17T00:59:16.2032796Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2032905Z               "line": 172
2026-06-17T00:59:16.2033005Z             },
2026-06-17T00:59:16.2033106Z             {
2026-06-17T00:59:16.2033253Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2033368Z               "line": 138
2026-06-17T00:59:16.2033472Z             },
2026-06-17T00:59:16.2033563Z             {
2026-06-17T00:59:16.2033698Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2033801Z               "line": 1325
2026-06-17T00:59:16.2033902Z             }
2026-06-17T00:59:16.2033998Z           ]
2026-06-17T00:59:16.2034102Z         },
2026-06-17T00:59:16.2034207Z         "int": {
2026-06-17T00:59:16.2034313Z           "complete": false,
2026-06-17T00:59:16.2034422Z           "evidence": []
2026-06-17T00:59:16.2034526Z         },
2026-06-17T00:59:16.2034630Z         "unit": {
2026-06-17T00:59:16.2034744Z           "complete": true,
2026-06-17T00:59:16.2034852Z           "evidence": [
2026-06-17T00:59:16.2034957Z             {
2026-06-17T00:59:16.2035101Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2035214Z               "line": 577
2026-06-17T00:59:16.2035316Z             },
2026-06-17T00:59:16.2035415Z             {
2026-06-17T00:59:16.2035567Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2035677Z               "line": 638
2026-06-17T00:59:16.2035777Z             },
2026-06-17T00:59:16.2035877Z             {
2026-06-17T00:59:16.2036016Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2036125Z               "line": 213
2026-06-17T00:59:16.2036235Z             },
2026-06-17T00:59:16.2036335Z             {
2026-06-17T00:59:16.2036469Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2036565Z               "line": 249
2026-06-17T00:59:16.2036669Z             },
2026-06-17T00:59:16.2036778Z             {
2026-06-17T00:59:16.2036904Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2037016Z               "line": 262
2026-06-17T00:59:16.2037122Z             },
2026-06-17T00:59:16.2037224Z             {
2026-06-17T00:59:16.2037364Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T00:59:16.2037464Z               "line": 338
2026-06-17T00:59:16.2037574Z             },
2026-06-17T00:59:16.2037674Z             {
2026-06-17T00:59:16.2037807Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2037918Z               "line": 541
2026-06-17T00:59:16.2038017Z             },
2026-06-17T00:59:16.2038122Z             {
2026-06-17T00:59:16.2038247Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2038365Z               "line": 7321
2026-06-17T00:59:16.2038465Z             },
2026-06-17T00:59:16.2038566Z             {
2026-06-17T00:59:16.2038689Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2038805Z               "line": 9061
2026-06-17T00:59:16.2038905Z             }
2026-06-17T00:59:16.2039086Z           ]
2026-06-17T00:59:16.2039186Z         }
2026-06-17T00:59:16.2039294Z       }
2026-06-17T00:59:16.2039410Z     },
2026-06-17T00:59:16.2039506Z     {
2026-06-17T00:59:16.2039614Z       "id": "REQ-INST-2",
2026-06-17T00:59:16.2039761Z       "title": "Per-node files, synced Psyche mind",
2026-06-17T00:59:16.2039978Z       "requiredStages": [
2026-06-17T00:59:16.2040079Z         "impl",
2026-06-17T00:59:16.2040179Z         "unit"
2026-06-17T00:59:16.2040283Z       ],
2026-06-17T00:59:16.2040388Z       "stages": {
2026-06-17T00:59:16.2040489Z         "doc": {
2026-06-17T00:59:16.2040608Z           "complete": false,
2026-06-17T00:59:16.2040718Z           "evidence": []
2026-06-17T00:59:16.2040814Z         },
2026-06-17T00:59:16.2040918Z         "impl": {
2026-06-17T00:59:16.2041038Z           "complete": true,
2026-06-17T00:59:16.2041138Z           "evidence": [
2026-06-17T00:59:16.2041242Z             {
2026-06-17T00:59:16.2041495Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2041599Z               "line": 107
2026-06-17T00:59:16.2041705Z             },
2026-06-17T00:59:16.2041805Z             {
2026-06-17T00:59:16.2041938Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.2042049Z               "line": 28
2026-06-17T00:59:16.2042143Z             },
2026-06-17T00:59:16.2042243Z             {
2026-06-17T00:59:16.2042378Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.2042486Z               "line": 74
2026-06-17T00:59:16.2042590Z             },
2026-06-17T00:59:16.2042690Z             {
2026-06-17T00:59:16.2042831Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.2042931Z               "line": 96
2026-06-17T00:59:16.2043037Z             },
2026-06-17T00:59:16.2043137Z             {
2026-06-17T00:59:16.2043275Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2043384Z               "line": 86
2026-06-17T00:59:16.2043479Z             },
2026-06-17T00:59:16.2043585Z             {
2026-06-17T00:59:16.2043728Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T00:59:16.2043837Z               "line": 118
2026-06-17T00:59:16.2043938Z             }
2026-06-17T00:59:16.2044042Z           ]
2026-06-17T00:59:16.2044147Z         },
2026-06-17T00:59:16.2044253Z         "int": {
2026-06-17T00:59:16.2044371Z           "complete": false,
2026-06-17T00:59:16.2044481Z           "evidence": []
2026-06-17T00:59:16.2044577Z         },
2026-06-17T00:59:16.2044672Z         "unit": {
2026-06-17T00:59:16.2044781Z           "complete": true,
2026-06-17T00:59:16.2044887Z           "evidence": [
2026-06-17T00:59:16.2044987Z             {
2026-06-17T00:59:16.2045124Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T00:59:16.2045224Z               "line": 250
2026-06-17T00:59:16.2045327Z             },
2026-06-17T00:59:16.2045426Z             {
2026-06-17T00:59:16.2045565Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2045665Z               "line": 280
2026-06-17T00:59:16.2045770Z             }
2026-06-17T00:59:16.2045876Z           ]
2026-06-17T00:59:16.2045976Z         }
2026-06-17T00:59:16.2046080Z       }
2026-06-17T00:59:16.2046181Z     },
2026-06-17T00:59:16.2046280Z     {
2026-06-17T00:59:16.2046380Z       "id": "REQ-INST-3",
2026-06-17T00:59:16.2046557Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-17T00:59:16.2046680Z       "requiredStages": [
2026-06-17T00:59:16.2046786Z         "doc",
2026-06-17T00:59:16.2046891Z         "impl",
2026-06-17T00:59:16.2046991Z         "unit"
2026-06-17T00:59:16.2047096Z       ],
2026-06-17T00:59:16.2047196Z       "stages": {
2026-06-17T00:59:16.2047296Z         "doc": {
2026-06-17T00:59:16.2047416Z           "complete": true,
2026-06-17T00:59:16.2047521Z           "evidence": [
2026-06-17T00:59:16.2047615Z             {
2026-06-17T00:59:16.2047741Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-17T00:59:16.2047854Z               "line": 3
2026-06-17T00:59:16.2047948Z             }
2026-06-17T00:59:16.2048053Z           ]
2026-06-17T00:59:16.2048159Z         },
2026-06-17T00:59:16.2048263Z         "impl": {
2026-06-17T00:59:16.2048377Z           "complete": true,
2026-06-17T00:59:16.2048478Z           "evidence": [
2026-06-17T00:59:16.2048573Z             {
2026-06-17T00:59:16.2048788Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.2048888Z               "line": 59
2026-06-17T00:59:16.2049060Z             },
2026-06-17T00:59:16.2049155Z             {
2026-06-17T00:59:16.2049302Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2049417Z               "line": 480
2026-06-17T00:59:16.2049517Z             },
2026-06-17T00:59:16.2049616Z             {
2026-06-17T00:59:16.2049760Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2049874Z               "line": 229
2026-06-17T00:59:16.2050066Z             },
2026-06-17T00:59:16.2050175Z             {
2026-06-17T00:59:16.2050317Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2050430Z               "line": 359
2026-06-17T00:59:16.2050529Z             },
2026-06-17T00:59:16.2050639Z             {
2026-06-17T00:59:16.2050778Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2050886Z               "line": 393
2026-06-17T00:59:16.2050987Z             },
2026-06-17T00:59:16.2051087Z             {
2026-06-17T00:59:16.2051229Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-17T00:59:16.2051331Z               "line": 74
2026-06-17T00:59:16.2051440Z             },
2026-06-17T00:59:16.2051544Z             {
2026-06-17T00:59:16.2051703Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2051802Z               "line": 234
2026-06-17T00:59:16.2051902Z             },
2026-06-17T00:59:16.2052008Z             {
2026-06-17T00:59:16.2052155Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2052256Z               "line": 390
2026-06-17T00:59:16.2052360Z             },
2026-06-17T00:59:16.2052465Z             {
2026-06-17T00:59:16.2052609Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2052717Z               "line": 45
2026-06-17T00:59:16.2052818Z             },
2026-06-17T00:59:16.2052919Z             {
2026-06-17T00:59:16.2053069Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2053179Z               "line": 114
2026-06-17T00:59:16.2053279Z             },
2026-06-17T00:59:16.2053382Z             {
2026-06-17T00:59:16.2053511Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2053625Z               "line": 152
2026-06-17T00:59:16.2053725Z             },
2026-06-17T00:59:16.2053830Z             {
2026-06-17T00:59:16.2053974Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2054077Z               "line": 168
2026-06-17T00:59:16.2054184Z             },
2026-06-17T00:59:16.2054288Z             {
2026-06-17T00:59:16.2054421Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2054532Z               "line": 178
2026-06-17T00:59:16.2054636Z             },
2026-06-17T00:59:16.2054736Z             {
2026-06-17T00:59:16.2054880Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2054989Z               "line": 210
2026-06-17T00:59:16.2055089Z             },
2026-06-17T00:59:16.2055195Z             {
2026-06-17T00:59:16.2055337Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2055443Z               "line": 287
2026-06-17T00:59:16.2055547Z             },
2026-06-17T00:59:16.2055651Z             {
2026-06-17T00:59:16.2055798Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2055906Z               "line": 311
2026-06-17T00:59:16.2056015Z             },
2026-06-17T00:59:16.2056120Z             {
2026-06-17T00:59:16.2056258Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2056368Z               "line": 389
2026-06-17T00:59:16.2056469Z             },
2026-06-17T00:59:16.2056578Z             {
2026-06-17T00:59:16.2056717Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2056826Z               "line": 438
2026-06-17T00:59:16.2056925Z             },
2026-06-17T00:59:16.2057131Z             {
2026-06-17T00:59:16.2057279Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-17T00:59:16.2057385Z               "line": 37
2026-06-17T00:59:16.2057488Z             },
2026-06-17T00:59:16.2057589Z             {
2026-06-17T00:59:16.2057743Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2057841Z               "line": 62
2026-06-17T00:59:16.2057947Z             },
2026-06-17T00:59:16.2058048Z             {
2026-06-17T00:59:16.2058185Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2058296Z               "line": 256
2026-06-17T00:59:16.2058470Z             },
2026-06-17T00:59:16.2058579Z             {
2026-06-17T00:59:16.2058714Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2058818Z               "line": 1664
2026-06-17T00:59:16.2058918Z             }
2026-06-17T00:59:16.2059086Z           ]
2026-06-17T00:59:16.2059180Z         },
2026-06-17T00:59:16.2059286Z         "int": {
2026-06-17T00:59:16.2059415Z           "complete": false,
2026-06-17T00:59:16.2059533Z           "evidence": []
2026-06-17T00:59:16.2059639Z         },
2026-06-17T00:59:16.2059738Z         "unit": {
2026-06-17T00:59:16.2059848Z           "complete": true,
2026-06-17T00:59:16.2059949Z           "evidence": [
2026-06-17T00:59:16.2060053Z             {
2026-06-17T00:59:16.2060201Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.2060320Z               "line": 360
2026-06-17T00:59:16.2060415Z             },
2026-06-17T00:59:16.2060525Z             {
2026-06-17T00:59:16.2060664Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2060772Z               "line": 812
2026-06-17T00:59:16.2060881Z             },
2026-06-17T00:59:16.2060981Z             {
2026-06-17T00:59:16.2061131Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2061233Z               "line": 869
2026-06-17T00:59:16.2061333Z             },
2026-06-17T00:59:16.2061441Z             {
2026-06-17T00:59:16.2061586Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.2061700Z               "line": 889
2026-06-17T00:59:16.2061794Z             },
2026-06-17T00:59:16.2061886Z             {
2026-06-17T00:59:16.2062028Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.2062143Z               "line": 1014
2026-06-17T00:59:16.2062248Z             },
2026-06-17T00:59:16.2062343Z             {
2026-06-17T00:59:16.2062507Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2062615Z               "line": 1212
2026-06-17T00:59:16.2062724Z             },
2026-06-17T00:59:16.2062826Z             {
2026-06-17T00:59:16.2062982Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2063078Z               "line": 1353
2026-06-17T00:59:16.2063183Z             },
2026-06-17T00:59:16.2063287Z             {
2026-06-17T00:59:16.2063431Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2063550Z               "line": 449
2026-06-17T00:59:16.2063653Z             },
2026-06-17T00:59:16.2063758Z             {
2026-06-17T00:59:16.2063900Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2064018Z               "line": 485
2026-06-17T00:59:16.2064123Z             },
2026-06-17T00:59:16.2064224Z             {
2026-06-17T00:59:16.2064362Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2064472Z               "line": 540
2026-06-17T00:59:16.2064576Z             },
2026-06-17T00:59:16.2064676Z             {
2026-06-17T00:59:16.2064820Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2064924Z               "line": 697
2026-06-17T00:59:16.2065024Z             },
2026-06-17T00:59:16.2065172Z             {
2026-06-17T00:59:16.2065325Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2065430Z               "line": 931
2026-06-17T00:59:16.2065659Z             },
2026-06-17T00:59:16.2065760Z             {
2026-06-17T00:59:16.2065916Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2066027Z               "line": 945
2026-06-17T00:59:16.2066126Z             },
2026-06-17T00:59:16.2066225Z             {
2026-06-17T00:59:16.2066382Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2066490Z               "line": 1214
2026-06-17T00:59:16.2066594Z             },
2026-06-17T00:59:16.2066700Z             {
2026-06-17T00:59:16.2066847Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2067057Z               "line": 552
2026-06-17T00:59:16.2067166Z             },
2026-06-17T00:59:16.2067272Z             {
2026-06-17T00:59:16.2067405Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2067505Z               "line": 7345
2026-06-17T00:59:16.2067611Z             }
2026-06-17T00:59:16.2067710Z           ]
2026-06-17T00:59:16.2067819Z         }
2026-06-17T00:59:16.2067926Z       }
2026-06-17T00:59:16.2068030Z     },
2026-06-17T00:59:16.2068139Z     {
2026-06-17T00:59:16.2068250Z       "id": "REQ-INST-4",
2026-06-17T00:59:16.2068454Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-17T00:59:16.2068570Z       "requiredStages": [
2026-06-17T00:59:16.2068688Z         "impl",
2026-06-17T00:59:16.2068793Z         "unit"
2026-06-17T00:59:16.2068894Z       ],
2026-06-17T00:59:16.2069068Z       "stages": {
2026-06-17T00:59:16.2069168Z         "doc": {
2026-06-17T00:59:16.2069288Z           "complete": false,
2026-06-17T00:59:16.2069392Z           "evidence": []
2026-06-17T00:59:16.2069526Z         },
2026-06-17T00:59:16.2069631Z         "impl": {
2026-06-17T00:59:16.2069755Z           "complete": true,
2026-06-17T00:59:16.2069870Z           "evidence": [
2026-06-17T00:59:16.2069970Z             {
2026-06-17T00:59:16.2070127Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2070237Z               "line": 360
2026-06-17T00:59:16.2070341Z             },
2026-06-17T00:59:16.2070441Z             {
2026-06-17T00:59:16.2070580Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2070684Z               "line": 202
2026-06-17T00:59:16.2070786Z             },
2026-06-17T00:59:16.2070886Z             {
2026-06-17T00:59:16.2071018Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2071124Z               "line": 234
2026-06-17T00:59:16.2071229Z             },
2026-06-17T00:59:16.2071337Z             {
2026-06-17T00:59:16.2071485Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2071588Z               "line": 274
2026-06-17T00:59:16.2071691Z             }
2026-06-17T00:59:16.2071783Z           ]
2026-06-17T00:59:16.2071893Z         },
2026-06-17T00:59:16.2071997Z         "int": {
2026-06-17T00:59:16.2072122Z           "complete": false,
2026-06-17T00:59:16.2072231Z           "evidence": []
2026-06-17T00:59:16.2072340Z         },
2026-06-17T00:59:16.2072451Z         "unit": {
2026-06-17T00:59:16.2072565Z           "complete": true,
2026-06-17T00:59:16.2072679Z           "evidence": [
2026-06-17T00:59:16.2072780Z             {
2026-06-17T00:59:16.2072932Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2073042Z               "line": 864
2026-06-17T00:59:16.2073142Z             },
2026-06-17T00:59:16.2073247Z             {
2026-06-17T00:59:16.2073396Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2073499Z               "line": 561
2026-06-17T00:59:16.2073604Z             },
2026-06-17T00:59:16.2073706Z             {
2026-06-17T00:59:16.2073857Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2073958Z               "line": 668
2026-06-17T00:59:16.2074063Z             },
2026-06-17T00:59:16.2074167Z             {
2026-06-17T00:59:16.2074318Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2074427Z               "line": 750
2026-06-17T00:59:16.2074626Z             }
2026-06-17T00:59:16.2074732Z           ]
2026-06-17T00:59:16.2074831Z         }
2026-06-17T00:59:16.2074936Z       }
2026-06-17T00:59:16.2075037Z     },
2026-06-17T00:59:16.2075136Z     {
2026-06-17T00:59:16.2075246Z       "id": "REQ-INST-5",
2026-06-17T00:59:16.2075461Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-17T00:59:16.2075580Z       "requiredStages": [
2026-06-17T00:59:16.2075681Z         "impl",
2026-06-17T00:59:16.2075785Z         "unit",
2026-06-17T00:59:16.2075895Z         "int"
2026-06-17T00:59:16.2076005Z       ],
2026-06-17T00:59:16.2076205Z       "stages": {
2026-06-17T00:59:16.2076310Z         "doc": {
2026-06-17T00:59:16.2076428Z           "complete": false,
2026-06-17T00:59:16.2076529Z           "evidence": []
2026-06-17T00:59:16.2076634Z         },
2026-06-17T00:59:16.2076738Z         "impl": {
2026-06-17T00:59:16.2076851Z           "complete": true,
2026-06-17T00:59:16.2076952Z           "evidence": [
2026-06-17T00:59:16.2077060Z             {
2026-06-17T00:59:16.2077217Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-17T00:59:16.2077318Z               "line": 85
2026-06-17T00:59:16.2077421Z             },
2026-06-17T00:59:16.2077522Z             {
2026-06-17T00:59:16.2077661Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2077779Z               "line": 68
2026-06-17T00:59:16.2077885Z             },
2026-06-17T00:59:16.2077985Z             {
2026-06-17T00:59:16.2078123Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2078224Z               "line": 99
2026-06-17T00:59:16.2078333Z             },
2026-06-17T00:59:16.2078442Z             {
2026-06-17T00:59:16.2078576Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2078681Z               "line": 183
2026-06-17T00:59:16.2078786Z             },
2026-06-17T00:59:16.2078886Z             {
2026-06-17T00:59:16.2079101Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2079211Z               "line": 314
2026-06-17T00:59:16.2079320Z             }
2026-06-17T00:59:16.2079431Z           ]
2026-06-17T00:59:16.2079526Z         },
2026-06-17T00:59:16.2079628Z         "int": {
2026-06-17T00:59:16.2079743Z           "complete": true,
2026-06-17T00:59:16.2079863Z           "evidence": [
2026-06-17T00:59:16.2079962Z             {
2026-06-17T00:59:16.2080110Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2080216Z               "line": 156
2026-06-17T00:59:16.2080315Z             },
2026-06-17T00:59:16.2080416Z             {
2026-06-17T00:59:16.2080554Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T00:59:16.2080658Z               "line": 102
2026-06-17T00:59:16.2080759Z             },
2026-06-17T00:59:16.2080858Z             {
2026-06-17T00:59:16.2081006Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2081108Z               "line": 705
2026-06-17T00:59:16.2081212Z             },
2026-06-17T00:59:16.2081316Z             {
2026-06-17T00:59:16.2081460Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2081569Z               "line": 1067
2026-06-17T00:59:16.2081675Z             }
2026-06-17T00:59:16.2081784Z           ]
2026-06-17T00:59:16.2081888Z         },
2026-06-17T00:59:16.2081988Z         "unit": {
2026-06-17T00:59:16.2082092Z           "complete": true,
2026-06-17T00:59:16.2082210Z           "evidence": [
2026-06-17T00:59:16.2082305Z             {
2026-06-17T00:59:16.2082449Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2082562Z               "line": 552
2026-06-17T00:59:16.2082667Z             },
2026-06-17T00:59:16.2082768Z             {
2026-06-17T00:59:16.2082905Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2083016Z               "line": 595
2026-06-17T00:59:16.2083111Z             },
2026-06-17T00:59:16.2083211Z             {
2026-06-17T00:59:16.2083359Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.2083568Z               "line": 219
2026-06-17T00:59:16.2083665Z             }
2026-06-17T00:59:16.2083769Z           ]
2026-06-17T00:59:16.2083878Z         }
2026-06-17T00:59:16.2083975Z       }
2026-06-17T00:59:16.2084083Z     },
2026-06-17T00:59:16.2084193Z     {
2026-06-17T00:59:16.2084327Z       "id": "REQ-INST-6",
2026-06-17T00:59:16.2084542Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-17T00:59:16.2084651Z       "requiredStages": [
2026-06-17T00:59:16.2084750Z         "impl",
2026-06-17T00:59:16.2084855Z         "unit",
2026-06-17T00:59:16.2085062Z         "int"
2026-06-17T00:59:16.2085167Z       ],
2026-06-17T00:59:16.2085278Z       "stages": {
2026-06-17T00:59:16.2085377Z         "doc": {
2026-06-17T00:59:16.2085482Z           "complete": true,
2026-06-17T00:59:16.2085597Z           "evidence": [
2026-06-17T00:59:16.2085696Z             {
2026-06-17T00:59:16.2085830Z               "path": "docs/DEFERRED.md",
2026-06-17T00:59:16.2085950Z               "line": 13
2026-06-17T00:59:16.2086054Z             }
2026-06-17T00:59:16.2086159Z           ]
2026-06-17T00:59:16.2086250Z         },
2026-06-17T00:59:16.2086350Z         "impl": {
2026-06-17T00:59:16.2086464Z           "complete": true,
2026-06-17T00:59:16.2086565Z           "evidence": [
2026-06-17T00:59:16.2086669Z             {
2026-06-17T00:59:16.2086818Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2086922Z               "line": 391
2026-06-17T00:59:16.2087022Z             },
2026-06-17T00:59:16.2087128Z             {
2026-06-17T00:59:16.2087270Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T00:59:16.2087388Z               "line": 27
2026-06-17T00:59:16.2087483Z             },
2026-06-17T00:59:16.2087587Z             {
2026-06-17T00:59:16.2087729Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T00:59:16.2087825Z               "line": 73
2026-06-17T00:59:16.2087925Z             },
2026-06-17T00:59:16.2088034Z             {
2026-06-17T00:59:16.2088183Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T00:59:16.2088296Z               "line": 182
2026-06-17T00:59:16.2088397Z             },
2026-06-17T00:59:16.2088497Z             {
2026-06-17T00:59:16.2088634Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2088750Z               "line": 426
2026-06-17T00:59:16.2088850Z             },
2026-06-17T00:59:16.2089021Z             {
2026-06-17T00:59:16.2089160Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-17T00:59:16.2089264Z               "line": 31
2026-06-17T00:59:16.2089366Z             },
2026-06-17T00:59:16.2089470Z             {
2026-06-17T00:59:16.2089617Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2089733Z               "line": 202
2026-06-17T00:59:16.2089836Z             },
2026-06-17T00:59:16.2089942Z             {
2026-06-17T00:59:16.2090086Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.2090188Z               "line": 83
2026-06-17T00:59:16.2090288Z             },
2026-06-17T00:59:16.2090395Z             {
2026-06-17T00:59:16.2090513Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2090627Z               "line": 1665
2026-06-17T00:59:16.2090719Z             },
2026-06-17T00:59:16.2090823Z             {
2026-06-17T00:59:16.2090962Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2091057Z               "line": 179
2026-06-17T00:59:16.2091166Z             },
2026-06-17T00:59:16.2091266Z             {
2026-06-17T00:59:16.2091400Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2093986Z               "line": 215
2026-06-17T00:59:16.2094114Z             }
2026-06-17T00:59:16.2094220Z           ]
2026-06-17T00:59:16.2094325Z         },
2026-06-17T00:59:16.2094443Z         "int": {
2026-06-17T00:59:16.2094563Z           "complete": true,
2026-06-17T00:59:16.2094672Z           "evidence": [
2026-06-17T00:59:16.2094906Z             {
2026-06-17T00:59:16.2095073Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2095188Z               "line": 719
2026-06-17T00:59:16.2095291Z             },
2026-06-17T00:59:16.2095390Z             {
2026-06-17T00:59:16.2095543Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2095646Z               "line": 1112
2026-06-17T00:59:16.2095742Z             },
2026-06-17T00:59:16.2095842Z             {
2026-06-17T00:59:16.2095985Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2096095Z               "line": 726
2026-06-17T00:59:16.2096314Z             }
2026-06-17T00:59:16.2096405Z           ]
2026-06-17T00:59:16.2096514Z         },
2026-06-17T00:59:16.2096609Z         "unit": {
2026-06-17T00:59:16.2096719Z           "complete": true,
2026-06-17T00:59:16.2096829Z           "evidence": [
2026-06-17T00:59:16.2096934Z             {
2026-06-17T00:59:16.2097087Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2097196Z               "line": 661
2026-06-17T00:59:16.2097305Z             },
2026-06-17T00:59:16.2097407Z             {
2026-06-17T00:59:16.2097548Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2097655Z               "line": 899
2026-06-17T00:59:16.2097754Z             },
2026-06-17T00:59:16.2097854Z             {
2026-06-17T00:59:16.2097996Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-17T00:59:16.2098105Z               "line": 66
2026-06-17T00:59:16.2098208Z             },
2026-06-17T00:59:16.2098308Z             {
2026-06-17T00:59:16.2098457Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2098560Z               "line": 297
2026-06-17T00:59:16.2098667Z             },
2026-06-17T00:59:16.2098771Z             {
2026-06-17T00:59:16.2098904Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.2099095Z               "line": 203
2026-06-17T00:59:16.2099195Z             }
2026-06-17T00:59:16.2099297Z           ]
2026-06-17T00:59:16.2099410Z         }
2026-06-17T00:59:16.2099515Z       }
2026-06-17T00:59:16.2099616Z     },
2026-06-17T00:59:16.2099715Z     {
2026-06-17T00:59:16.2099825Z       "id": "REQ-INST-7",
2026-06-17T00:59:16.2099997Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-17T00:59:16.2100116Z       "requiredStages": [
2026-06-17T00:59:16.2100212Z         "impl",
2026-06-17T00:59:16.2100317Z         "unit",
2026-06-17T00:59:16.2100411Z         "int"
2026-06-17T00:59:16.2100507Z       ],
2026-06-17T00:59:16.2100608Z       "stages": {
2026-06-17T00:59:16.2100711Z         "doc": {
2026-06-17T00:59:16.2100834Z           "complete": false,
2026-06-17T00:59:16.2100940Z           "evidence": []
2026-06-17T00:59:16.2101049Z         },
2026-06-17T00:59:16.2101159Z         "impl": {
2026-06-17T00:59:16.2101269Z           "complete": true,
2026-06-17T00:59:16.2101388Z           "evidence": [
2026-06-17T00:59:16.2101488Z             {
2026-06-17T00:59:16.2101641Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2101745Z               "line": 436
2026-06-17T00:59:16.2101851Z             },
2026-06-17T00:59:16.2101955Z             {
2026-06-17T00:59:16.2102112Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2102218Z               "line": 27
2026-06-17T00:59:16.2102317Z             },
2026-06-17T00:59:16.2102417Z             {
2026-06-17T00:59:16.2102561Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2102680Z               "line": 207
2026-06-17T00:59:16.2102780Z             },
2026-06-17T00:59:16.2102876Z             {
2026-06-17T00:59:16.2103017Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2103122Z               "line": 344
2026-06-17T00:59:16.2103222Z             },
2026-06-17T00:59:16.2103320Z             {
2026-06-17T00:59:16.2103468Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-17T00:59:16.2103579Z               "line": 59
2026-06-17T00:59:16.2103792Z             },
2026-06-17T00:59:16.2103888Z             {
2026-06-17T00:59:16.2104040Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2104146Z               "line": 41
2026-06-17T00:59:16.2104246Z             },
2026-06-17T00:59:16.2104350Z             {
2026-06-17T00:59:16.2104508Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2104603Z               "line": 27
2026-06-17T00:59:16.2104703Z             },
2026-06-17T00:59:16.2104809Z             {
2026-06-17T00:59:16.2104960Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2105165Z               "line": 119
2026-06-17T00:59:16.2105275Z             },
2026-06-17T00:59:16.2105367Z             {
2026-06-17T00:59:16.2105518Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2105619Z               "line": 134
2026-06-17T00:59:16.2105715Z             },
2026-06-17T00:59:16.2105818Z             {
2026-06-17T00:59:16.2105965Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T00:59:16.2106075Z               "line": 139
2026-06-17T00:59:16.2106173Z             }
2026-06-17T00:59:16.2106272Z           ]
2026-06-17T00:59:16.2106379Z         },
2026-06-17T00:59:16.2106474Z         "int": {
2026-06-17T00:59:16.2106592Z           "complete": true,
2026-06-17T00:59:16.2106698Z           "evidence": [
2026-06-17T00:59:16.2106793Z             {
2026-06-17T00:59:16.2106946Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T00:59:16.2107055Z               "line": 102
2026-06-17T00:59:16.2107164Z             },
2026-06-17T00:59:16.2107265Z             {
2026-06-17T00:59:16.2107417Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2107518Z               "line": 663
2026-06-17T00:59:16.2107614Z             },
2026-06-17T00:59:16.2107718Z             {
2026-06-17T00:59:16.2107866Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2107986Z               "line": 962
2026-06-17T00:59:16.2108085Z             }
2026-06-17T00:59:16.2108190Z           ]
2026-06-17T00:59:16.2108292Z         },
2026-06-17T00:59:16.2108390Z         "unit": {
2026-06-17T00:59:16.2108508Z           "complete": true,
2026-06-17T00:59:16.2108614Z           "evidence": [
2026-06-17T00:59:16.2108716Z             {
2026-06-17T00:59:16.2108864Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2109083Z               "line": 1082
2026-06-17T00:59:16.2109174Z             },
2026-06-17T00:59:16.2109274Z             {
2026-06-17T00:59:16.2109450Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2109561Z               "line": 1414
2026-06-17T00:59:16.2109660Z             },
2026-06-17T00:59:16.2109760Z             {
2026-06-17T00:59:16.2109918Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-17T00:59:16.2110032Z               "line": 84
2026-06-17T00:59:16.2110132Z             },
2026-06-17T00:59:16.2110242Z             {
2026-06-17T00:59:16.2110380Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2110501Z               "line": 780
2026-06-17T00:59:16.2110604Z             },
2026-06-17T00:59:16.2110709Z             {
2026-06-17T00:59:16.2110853Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2110961Z               "line": 791
2026-06-17T00:59:16.2111057Z             },
2026-06-17T00:59:16.2111159Z             {
2026-06-17T00:59:16.2111304Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2111409Z               "line": 806
2026-06-17T00:59:16.2111505Z             },
2026-06-17T00:59:16.2111609Z             {
2026-06-17T00:59:16.2111752Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2111863Z               "line": 166
2026-06-17T00:59:16.2111962Z             },
2026-06-17T00:59:16.2112067Z             {
2026-06-17T00:59:16.2112215Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2112430Z               "line": 181
2026-06-17T00:59:16.2112534Z             },
2026-06-17T00:59:16.2112634Z             {
2026-06-17T00:59:16.2112778Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2112892Z               "line": 214
2026-06-17T00:59:16.2112987Z             }
2026-06-17T00:59:16.2113088Z           ]
2026-06-17T00:59:16.2113197Z         }
2026-06-17T00:59:16.2113297Z       }
2026-06-17T00:59:16.2113398Z     },
2026-06-17T00:59:16.2113497Z     {
2026-06-17T00:59:16.2113611Z       "id": "REQ-INST-8",
2026-06-17T00:59:16.2113890Z       "title": "Remote-control mode distinct from local operation",
2026-06-17T00:59:16.2114005Z       "requiredStages": [
2026-06-17T00:59:16.2114110Z         "impl",
2026-06-17T00:59:16.2114204Z         "unit",
2026-06-17T00:59:16.2114304Z         "int"
2026-06-17T00:59:16.2114406Z       ],
2026-06-17T00:59:16.2114505Z       "stages": {
2026-06-17T00:59:16.2114605Z         "doc": {
2026-06-17T00:59:16.2114725Z           "complete": false,
2026-06-17T00:59:16.2114839Z           "evidence": []
2026-06-17T00:59:16.2114944Z         },
2026-06-17T00:59:16.2115049Z         "impl": {
2026-06-17T00:59:16.2115163Z           "complete": true,
2026-06-17T00:59:16.2115253Z           "evidence": [
2026-06-17T00:59:16.2115359Z             {
2026-06-17T00:59:16.2115501Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.2115612Z               "line": 104
2026-06-17T00:59:16.2115735Z             },
2026-06-17T00:59:16.2115840Z             {
2026-06-17T00:59:16.2115984Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.2116097Z               "line": 299
2026-06-17T00:59:16.2116198Z             },
2026-06-17T00:59:16.2116299Z             {
2026-06-17T00:59:16.2116445Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.2116545Z               "line": 339
2026-06-17T00:59:16.2116645Z             },
2026-06-17T00:59:16.2116742Z             {
2026-06-17T00:59:16.2116891Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2117001Z               "line": 62
2026-06-17T00:59:16.2117105Z             }
2026-06-17T00:59:16.2117201Z           ]
2026-06-17T00:59:16.2117296Z         },
2026-06-17T00:59:16.2117400Z         "int": {
2026-06-17T00:59:16.2117506Z           "complete": true,
2026-06-17T00:59:16.2117611Z           "evidence": [
2026-06-17T00:59:16.2117710Z             {
2026-06-17T00:59:16.2117854Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2117958Z               "line": 415
2026-06-17T00:59:16.2118063Z             },
2026-06-17T00:59:16.2118169Z             {
2026-06-17T00:59:16.2118316Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2118426Z               "line": 1026
2026-06-17T00:59:16.2118522Z             }
2026-06-17T00:59:16.2118630Z           ]
2026-06-17T00:59:16.2118731Z         },
2026-06-17T00:59:16.2118833Z         "unit": {
2026-06-17T00:59:16.2119035Z           "complete": true,
2026-06-17T00:59:16.2119145Z           "evidence": [
2026-06-17T00:59:16.2119244Z             {
2026-06-17T00:59:16.2119414Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2119534Z               "line": 358
2026-06-17T00:59:16.2119634Z             },
2026-06-17T00:59:16.2119734Z             {
2026-06-17T00:59:16.2119877Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2119986Z               "line": 513
2026-06-17T00:59:16.2120082Z             },
2026-06-17T00:59:16.2120187Z             {
2026-06-17T00:59:16.2120334Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2120445Z               "line": 116
2026-06-17T00:59:16.2120549Z             },
2026-06-17T00:59:16.2120654Z             {
2026-06-17T00:59:16.2120793Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2120893Z               "line": 160
2026-06-17T00:59:16.2120997Z             }
2026-06-17T00:59:16.2121192Z           ]
2026-06-17T00:59:16.2121293Z         }
2026-06-17T00:59:16.2121385Z       }
2026-06-17T00:59:16.2121479Z     },
2026-06-17T00:59:16.2121584Z     {
2026-06-17T00:59:16.2121690Z       "id": "REQ-INST-9",
2026-06-17T00:59:16.2121907Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-17T00:59:16.2122022Z       "requiredStages": [
2026-06-17T00:59:16.2122127Z         "impl",
2026-06-17T00:59:16.2122226Z         "unit"
2026-06-17T00:59:16.2122327Z       ],
2026-06-17T00:59:16.2122432Z       "stages": {
2026-06-17T00:59:16.2122532Z         "doc": {
2026-06-17T00:59:16.2122747Z           "complete": false,
2026-06-17T00:59:16.2122856Z           "evidence": []
2026-06-17T00:59:16.2122956Z         },
2026-06-17T00:59:16.2123061Z         "impl": {
2026-06-17T00:59:16.2123170Z           "complete": true,
2026-06-17T00:59:16.2123271Z           "evidence": [
2026-06-17T00:59:16.2123372Z             {
2026-06-17T00:59:16.2123514Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2123625Z               "line": 417
2026-06-17T00:59:16.2123729Z             }
2026-06-17T00:59:16.2123824Z           ]
2026-06-17T00:59:16.2123915Z         },
2026-06-17T00:59:16.2124015Z         "int": {
2026-06-17T00:59:16.2124123Z           "complete": false,
2026-06-17T00:59:16.2124233Z           "evidence": []
2026-06-17T00:59:16.2124328Z         },
2026-06-17T00:59:16.2124431Z         "unit": {
2026-06-17T00:59:16.2124545Z           "complete": true,
2026-06-17T00:59:16.2124647Z           "evidence": [
2026-06-17T00:59:16.2124741Z             {
2026-06-17T00:59:16.2124889Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2125003Z               "line": 1321
2026-06-17T00:59:16.2125107Z             },
2026-06-17T00:59:16.2125209Z             {
2026-06-17T00:59:16.2125352Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2125455Z               "line": 1330
2026-06-17T00:59:16.2125562Z             },
2026-06-17T00:59:16.2125661Z             {
2026-06-17T00:59:16.2125809Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2125915Z               "line": 1346
2026-06-17T00:59:16.2126014Z             },
2026-06-17T00:59:16.2126119Z             {
2026-06-17T00:59:16.2126258Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2126372Z               "line": 1358
2026-06-17T00:59:16.2126473Z             },
2026-06-17T00:59:16.2126582Z             {
2026-06-17T00:59:16.2126729Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2126845Z               "line": 1378
2026-06-17T00:59:16.2126948Z             }
2026-06-17T00:59:16.2127043Z           ]
2026-06-17T00:59:16.2127148Z         }
2026-06-17T00:59:16.2127247Z       }
2026-06-17T00:59:16.2127350Z     },
2026-06-17T00:59:16.2127451Z     {
2026-06-17T00:59:16.2127566Z       "id": "REQ-INSTALL-1",
2026-06-17T00:59:16.2127780Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-17T00:59:16.2127900Z       "requiredStages": [
2026-06-17T00:59:16.2128003Z         "doc",
2026-06-17T00:59:16.2128105Z         "impl",
2026-06-17T00:59:16.2128209Z         "int"
2026-06-17T00:59:16.2128318Z       ],
2026-06-17T00:59:16.2128415Z       "stages": {
2026-06-17T00:59:16.2128514Z         "doc": {
2026-06-17T00:59:16.2128628Z           "complete": true,
2026-06-17T00:59:16.2128734Z           "evidence": [
2026-06-17T00:59:16.2128829Z             {
2026-06-17T00:59:16.2129035Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2129139Z               "line": 702
2026-06-17T00:59:16.2129239Z             }
2026-06-17T00:59:16.2129345Z           ]
2026-06-17T00:59:16.2129445Z         },
2026-06-17T00:59:16.2129543Z         "impl": {
2026-06-17T00:59:16.2129652Z           "complete": true,
2026-06-17T00:59:16.2129753Z           "evidence": [
2026-06-17T00:59:16.2129850Z             {
2026-06-17T00:59:16.2129974Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2130208Z               "line": 57
2026-06-17T00:59:16.2130313Z             },
2026-06-17T00:59:16.2130414Z             {
2026-06-17T00:59:16.2130537Z               "path": "installer/install.sh",
2026-06-17T00:59:16.2130652Z               "line": 52
2026-06-17T00:59:16.2130752Z             }
2026-06-17T00:59:16.2130851Z           ]
2026-06-17T00:59:16.2130948Z         },
2026-06-17T00:59:16.2131052Z         "int": {
2026-06-17T00:59:16.2131166Z           "complete": true,
2026-06-17T00:59:16.2131272Z           "evidence": [
2026-06-17T00:59:16.2131372Z             {
2026-06-17T00:59:16.2131635Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T00:59:16.2131738Z               "line": 21
2026-06-17T00:59:16.2131839Z             }
2026-06-17T00:59:16.2131940Z           ]
2026-06-17T00:59:16.2132048Z         },
2026-06-17T00:59:16.2132149Z         "unit": {
2026-06-17T00:59:16.2132255Z           "complete": false,
2026-06-17T00:59:16.2132377Z           "evidence": []
2026-06-17T00:59:16.2132477Z         }
2026-06-17T00:59:16.2132577Z       }
2026-06-17T00:59:16.2132678Z     },
2026-06-17T00:59:16.2132782Z     {
2026-06-17T00:59:16.2132901Z       "id": "REQ-INSTALL-10",
2026-06-17T00:59:16.2134336Z       "title": "Windows at-logon autostart runs the daemon in the background with no persistent window: the scheduled task launches `spt daemon start` (which spawn_detaches a console-less DETACHED_PROCESS daemon and exits) rather than the foreground `spt daemon run` — Task Scheduler's interactive ONLOGON launch of a long-lived console process otherwise leaves a visible console window for the daemon's whole lifetime (v0.7.4)",
2026-06-17T00:59:16.2134466Z       "requiredStages": [
2026-06-17T00:59:16.2134570Z         "impl",
2026-06-17T00:59:16.2134670Z         "unit"
2026-06-17T00:59:16.2134769Z       ],
2026-06-17T00:59:16.2134869Z       "stages": {
2026-06-17T00:59:16.2134972Z         "doc": {
2026-06-17T00:59:16.2135076Z           "complete": false,
2026-06-17T00:59:16.2135187Z           "evidence": []
2026-06-17T00:59:16.2135287Z         },
2026-06-17T00:59:16.2135386Z         "impl": {
2026-06-17T00:59:16.2135492Z           "complete": true,
2026-06-17T00:59:16.2135597Z           "evidence": [
2026-06-17T00:59:16.2135696Z             {
2026-06-17T00:59:16.2135836Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2135949Z               "line": 191
2026-06-17T00:59:16.2136050Z             }
2026-06-17T00:59:16.2136155Z           ]
2026-06-17T00:59:16.2136255Z         },
2026-06-17T00:59:16.2136369Z         "int": {
2026-06-17T00:59:16.2136484Z           "complete": false,
2026-06-17T00:59:16.2136598Z           "evidence": []
2026-06-17T00:59:16.2136703Z         },
2026-06-17T00:59:16.2136804Z         "unit": {
2026-06-17T00:59:16.2136908Z           "complete": true,
2026-06-17T00:59:16.2137018Z           "evidence": [
2026-06-17T00:59:16.2137119Z             {
2026-06-17T00:59:16.2137270Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T00:59:16.2137377Z               "line": 211
2026-06-17T00:59:16.2137485Z             }
2026-06-17T00:59:16.2137579Z           ]
2026-06-17T00:59:16.2137684Z         }
2026-06-17T00:59:16.2137783Z       }
2026-06-17T00:59:16.2137887Z     },
2026-06-17T00:59:16.2137992Z     {
2026-06-17T00:59:16.2138107Z       "id": "REQ-INSTALL-11",
2026-06-17T00:59:16.2140061Z       "title": "Adapter command templates resolve their program against the adapter's install dir BEFORE PATH: a `.spt`-shipped binary (dropped to adapters/_github/<safe>/ by --release/--github acquisition, or kept in the source_dir under copy-mode where only manifest+strings/ are copied to adapters/<name>) runs without any PATH placement — a bare-name template token (e.g. `claude-spt-digest ...`) is rewritten to <install_dir>/<program>(.exe on Windows) when that file exists, else left bare for the PATH fallback. Makes a `.spt` self-contained (closes the --release bundled-binary gap perri confirmed) (v0.7.4)",
2026-06-17T00:59:16.2140298Z       "requiredStages": [
2026-06-17T00:59:16.2140402Z         "doc",
2026-06-17T00:59:16.2140510Z         "impl",
2026-06-17T00:59:16.2140606Z         "unit"
2026-06-17T00:59:16.2140707Z       ],
2026-06-17T00:59:16.2140811Z       "stages": {
2026-06-17T00:59:16.2140912Z         "doc": {
2026-06-17T00:59:16.2141027Z           "complete": true,
2026-06-17T00:59:16.2141130Z           "evidence": [
2026-06-17T00:59:16.2141236Z             {
2026-06-17T00:59:16.2141355Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2141459Z               "line": 138
2026-06-17T00:59:16.2141561Z             },
2026-06-17T00:59:16.2141769Z             {
2026-06-17T00:59:16.2141895Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.2141999Z               "line": 63
2026-06-17T00:59:16.2142099Z             }
2026-06-17T00:59:16.2142200Z           ]
2026-06-17T00:59:16.2142308Z         },
2026-06-17T00:59:16.2142413Z         "impl": {
2026-06-17T00:59:16.2142520Z           "complete": true,
2026-06-17T00:59:16.2142632Z           "evidence": [
2026-06-17T00:59:16.2142738Z             {
2026-06-17T00:59:16.2142887Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.2142994Z               "line": 223
2026-06-17T00:59:16.2143099Z             },
2026-06-17T00:59:16.2143200Z             {
2026-06-17T00:59:16.2143356Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2143461Z               "line": 98
2026-06-17T00:59:16.2143572Z             },
2026-06-17T00:59:16.2143676Z             {
2026-06-17T00:59:16.2143815Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2143933Z               "line": 116
2026-06-17T00:59:16.2144028Z             },
2026-06-17T00:59:16.2144135Z             {
2026-06-17T00:59:16.2144281Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T00:59:16.2144387Z               "line": 295
2026-06-17T00:59:16.2144482Z             },
2026-06-17T00:59:16.2144582Z             {
2026-06-17T00:59:16.2144726Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.2144830Z               "line": 88
2026-06-17T00:59:16.2144939Z             },
2026-06-17T00:59:16.2145031Z             {
2026-06-17T00:59:16.2145168Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.2145277Z               "line": 104
2026-06-17T00:59:16.2145377Z             },
2026-06-17T00:59:16.2145504Z             {
2026-06-17T00:59:16.2145661Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2145767Z               "line": 272
2026-06-17T00:59:16.2145866Z             },
2026-06-17T00:59:16.2145971Z             {
2026-06-17T00:59:16.2146119Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2146233Z               "line": 307
2026-06-17T00:59:16.2146339Z             },
2026-06-17T00:59:16.2146439Z             {
2026-06-17T00:59:16.2146585Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2146692Z               "line": 481
2026-06-17T00:59:16.2146796Z             },
2026-06-17T00:59:16.2146900Z             {
2026-06-17T00:59:16.2147044Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2147158Z               "line": 504
2026-06-17T00:59:16.2147259Z             },
2026-06-17T00:59:16.2147364Z             {
2026-06-17T00:59:16.2147497Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2147608Z               "line": 519
2026-06-17T00:59:16.2147711Z             },
2026-06-17T00:59:16.2147812Z             {
2026-06-17T00:59:16.2147956Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2148059Z               "line": 486
2026-06-17T00:59:16.2148158Z             }
2026-06-17T00:59:16.2148254Z           ]
2026-06-17T00:59:16.2148353Z         },
2026-06-17T00:59:16.2148452Z         "int": {
2026-06-17T00:59:16.2148557Z           "complete": false,
2026-06-17T00:59:16.2148658Z           "evidence": []
2026-06-17T00:59:16.2148757Z         },
2026-06-17T00:59:16.2149029Z         "unit": {
2026-06-17T00:59:16.2149133Z           "complete": true,
2026-06-17T00:59:16.2149230Z           "evidence": [
2026-06-17T00:59:16.2149334Z             {
2026-06-17T00:59:16.2149501Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2149606Z               "line": 757
2026-06-17T00:59:16.2149701Z             },
2026-06-17T00:59:16.2149801Z             {
2026-06-17T00:59:16.2149949Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2150059Z               "line": 769
2026-06-17T00:59:16.2150160Z             },
2026-06-17T00:59:16.2150260Z             {
2026-06-17T00:59:16.2150508Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2150626Z               "line": 778
2026-06-17T00:59:16.2150716Z             }
2026-06-17T00:59:16.2150821Z           ]
2026-06-17T00:59:16.2150915Z         }
2026-06-17T00:59:16.2151018Z       }
2026-06-17T00:59:16.2151109Z     },
2026-06-17T00:59:16.2151214Z     {
2026-06-17T00:59:16.2151337Z       "id": "REQ-INSTALL-2",
2026-06-17T00:59:16.2151501Z       "title": "Marketplace-repackaging-friendly install",
2026-06-17T00:59:16.2151620Z       "requiredStages": [
2026-06-17T00:59:16.2151724Z         "doc"
2026-06-17T00:59:16.2151830Z       ],
2026-06-17T00:59:16.2151930Z       "stages": {
2026-06-17T00:59:16.2152039Z         "doc": {
2026-06-17T00:59:16.2152154Z           "complete": true,
2026-06-17T00:59:16.2152259Z           "evidence": [
2026-06-17T00:59:16.2152354Z             {
2026-06-17T00:59:16.2152469Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2152578Z               "line": 703
2026-06-17T00:59:16.2152683Z             }
2026-06-17T00:59:16.2152784Z           ]
2026-06-17T00:59:16.2152882Z         },
2026-06-17T00:59:16.2152988Z         "impl": {
2026-06-17T00:59:16.2153108Z           "complete": false,
2026-06-17T00:59:16.2153206Z           "evidence": []
2026-06-17T00:59:16.2153303Z         },
2026-06-17T00:59:16.2153399Z         "int": {
2026-06-17T00:59:16.2153512Z           "complete": false,
2026-06-17T00:59:16.2153621Z           "evidence": []
2026-06-17T00:59:16.2153726Z         },
2026-06-17T00:59:16.2153836Z         "unit": {
2026-06-17T00:59:16.2153940Z           "complete": false,
2026-06-17T00:59:16.2154051Z           "evidence": []
2026-06-17T00:59:16.2154156Z         }
2026-06-17T00:59:16.2154260Z       }
2026-06-17T00:59:16.2154361Z     },
2026-06-17T00:59:16.2154461Z     {
2026-06-17T00:59:16.2154584Z       "id": "REQ-INSTALL-3",
2026-06-17T00:59:16.2154751Z       "title": "Idempotent + interactive-optional first run",
2026-06-17T00:59:16.2154865Z       "requiredStages": [
2026-06-17T00:59:16.2154971Z         "impl",
2026-06-17T00:59:16.2155075Z         "int"
2026-06-17T00:59:16.2155175Z       ],
2026-06-17T00:59:16.2155286Z       "stages": {
2026-06-17T00:59:16.2155395Z         "doc": {
2026-06-17T00:59:16.2155504Z           "complete": false,
2026-06-17T00:59:16.2155615Z           "evidence": []
2026-06-17T00:59:16.2155714Z         },
2026-06-17T00:59:16.2155823Z         "impl": {
2026-06-17T00:59:16.2155923Z           "complete": true,
2026-06-17T00:59:16.2156036Z           "evidence": [
2026-06-17T00:59:16.2156145Z             {
2026-06-17T00:59:16.2156279Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2156393Z               "line": 100
2026-06-17T00:59:16.2156488Z             },
2026-06-17T00:59:16.2156588Z             {
2026-06-17T00:59:16.2156722Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2156830Z               "line": 111
2026-06-17T00:59:16.2156937Z             },
2026-06-17T00:59:16.2157037Z             {
2026-06-17T00:59:16.2157170Z               "path": "installer/install.sh",
2026-06-17T00:59:16.2157270Z               "line": 79
2026-06-17T00:59:16.2157375Z             }
2026-06-17T00:59:16.2157475Z           ]
2026-06-17T00:59:16.2157581Z         },
2026-06-17T00:59:16.2157680Z         "int": {
2026-06-17T00:59:16.2157794Z           "complete": true,
2026-06-17T00:59:16.2157910Z           "evidence": [
2026-06-17T00:59:16.2158104Z             {
2026-06-17T00:59:16.2158262Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T00:59:16.2158367Z               "line": 167
2026-06-17T00:59:16.2158472Z             }
2026-06-17T00:59:16.2158577Z           ]
2026-06-17T00:59:16.2158676Z         },
2026-06-17T00:59:16.2158776Z         "unit": {
2026-06-17T00:59:16.2158894Z           "complete": false,
2026-06-17T00:59:16.2159093Z           "evidence": []
2026-06-17T00:59:16.2159189Z         }
2026-06-17T00:59:16.2159298Z       }
2026-06-17T00:59:16.2159398Z     },
2026-06-17T00:59:16.2159499Z     {
2026-06-17T00:59:16.2159712Z       "id": "REQ-INSTALL-4",
2026-06-17T00:59:16.2160371Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-17T00:59:16.2160495Z       "requiredStages": [
2026-06-17T00:59:16.2160604Z         "impl",
2026-06-17T00:59:16.2160700Z         "unit"
2026-06-17T00:59:16.2160806Z       ],
2026-06-17T00:59:16.2160909Z       "stages": {
2026-06-17T00:59:16.2161011Z         "doc": {
2026-06-17T00:59:16.2161111Z           "complete": false,
2026-06-17T00:59:16.2161214Z           "evidence": []
2026-06-17T00:59:16.2161318Z         },
2026-06-17T00:59:16.2161418Z         "impl": {
2026-06-17T00:59:16.2161526Z           "complete": true,
2026-06-17T00:59:16.2161626Z           "evidence": [
2026-06-17T00:59:16.2161726Z             {
2026-06-17T00:59:16.2161884Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2161993Z               "line": 165
2026-06-17T00:59:16.2162099Z             },
2026-06-17T00:59:16.2162194Z             {
2026-06-17T00:59:16.2162347Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2162451Z               "line": 29
2026-06-17T00:59:16.2162560Z             },
2026-06-17T00:59:16.2162662Z             {
2026-06-17T00:59:16.2162819Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2162923Z               "line": 275
2026-06-17T00:59:16.2163029Z             },
2026-06-17T00:59:16.2163129Z             {
2026-06-17T00:59:16.2163277Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2163381Z               "line": 343
2026-06-17T00:59:16.2163482Z             },
2026-06-17T00:59:16.2163587Z             {
2026-06-17T00:59:16.2163729Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2163834Z               "line": 373
2026-06-17T00:59:16.2163945Z             },
2026-06-17T00:59:16.2164044Z             {
2026-06-17T00:59:16.2164195Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2164301Z               "line": 405
2026-06-17T00:59:16.2164406Z             },
2026-06-17T00:59:16.2164510Z             {
2026-06-17T00:59:16.2164635Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2164749Z               "line": 5101
2026-06-17T00:59:16.2164839Z             }
2026-06-17T00:59:16.2164935Z           ]
2026-06-17T00:59:16.2165040Z         },
2026-06-17T00:59:16.2165144Z         "int": {
2026-06-17T00:59:16.2165269Z           "complete": false,
2026-06-17T00:59:16.2165378Z           "evidence": []
2026-06-17T00:59:16.2165483Z         },
2026-06-17T00:59:16.2165575Z         "unit": {
2026-06-17T00:59:16.2165683Z           "complete": true,
2026-06-17T00:59:16.2165793Z           "evidence": [
2026-06-17T00:59:16.2165894Z             {
2026-06-17T00:59:16.2166059Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2166170Z               "line": 375
2026-06-17T00:59:16.2166279Z             },
2026-06-17T00:59:16.2166378Z             {
2026-06-17T00:59:16.2166540Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2166643Z               "line": 767
2026-06-17T00:59:16.2166742Z             },
2026-06-17T00:59:16.2166843Z             {
2026-06-17T00:59:16.2167101Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2167206Z               "line": 808
2026-06-17T00:59:16.2167310Z             },
2026-06-17T00:59:16.2167410Z             {
2026-06-17T00:59:16.2167559Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2167663Z               "line": 828
2026-06-17T00:59:16.2167769Z             },
2026-06-17T00:59:16.2167868Z             {
2026-06-17T00:59:16.2167997Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2168098Z               "line": 7665
2026-06-17T00:59:16.2168197Z             }
2026-06-17T00:59:16.2168364Z           ]
2026-06-17T00:59:16.2168470Z         }
2026-06-17T00:59:16.2168574Z       }
2026-06-17T00:59:16.2168684Z     },
2026-06-17T00:59:16.2168790Z     {
2026-06-17T00:59:16.2168903Z       "id": "REQ-INSTALL-5",
2026-06-17T00:59:16.2169491Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-17T00:59:16.2169600Z       "requiredStages": [
2026-06-17T00:59:16.2169706Z         "impl",
2026-06-17T00:59:16.2169806Z         "int"
2026-06-17T00:59:16.2169906Z       ],
2026-06-17T00:59:16.2170011Z       "stages": {
2026-06-17T00:59:16.2170116Z         "doc": {
2026-06-17T00:59:16.2170225Z           "complete": false,
2026-06-17T00:59:16.2170331Z           "evidence": []
2026-06-17T00:59:16.2170431Z         },
2026-06-17T00:59:16.2170535Z         "impl": {
2026-06-17T00:59:16.2170645Z           "complete": true,
2026-06-17T00:59:16.2170764Z           "evidence": [
2026-06-17T00:59:16.2170864Z             {
2026-06-17T00:59:16.2170994Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2171098Z               "line": 5
2026-06-17T00:59:16.2171198Z             },
2026-06-17T00:59:16.2171304Z             {
2026-06-17T00:59:16.2171431Z               "path": "installer/install.sh",
2026-06-17T00:59:16.2171556Z               "line": 6
2026-06-17T00:59:16.2171657Z             }
2026-06-17T00:59:16.2171760Z           ]
2026-06-17T00:59:16.2171859Z         },
2026-06-17T00:59:16.2171955Z         "int": {
2026-06-17T00:59:16.2172082Z           "complete": true,
2026-06-17T00:59:16.2172181Z           "evidence": [
2026-06-17T00:59:16.2172287Z             {
2026-06-17T00:59:16.2172435Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T00:59:16.2172539Z               "line": 22
2026-06-17T00:59:16.2175166Z             }
2026-06-17T00:59:16.2175304Z           ]
2026-06-17T00:59:16.2175404Z         },
2026-06-17T00:59:16.2175529Z         "unit": {
2026-06-17T00:59:16.2175652Z           "complete": false,
2026-06-17T00:59:16.2175757Z           "evidence": []
2026-06-17T00:59:16.2175858Z         }
2026-06-17T00:59:16.2175957Z       }
2026-06-17T00:59:16.2176052Z     },
2026-06-17T00:59:16.2176153Z     {
2026-06-17T00:59:16.2176272Z       "id": "REQ-INSTALL-6",
2026-06-17T00:59:16.2177541Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-17T00:59:16.2177670Z       "requiredStages": [
2026-06-17T00:59:16.2177776Z         "impl",
2026-06-17T00:59:16.2177884Z         "unit"
2026-06-17T00:59:16.2177985Z       ],
2026-06-17T00:59:16.2178095Z       "stages": {
2026-06-17T00:59:16.2178204Z         "doc": {
2026-06-17T00:59:16.2178324Z           "complete": false,
2026-06-17T00:59:16.2178443Z           "evidence": []
2026-06-17T00:59:16.2178547Z         },
2026-06-17T00:59:16.2178648Z         "impl": {
2026-06-17T00:59:16.2178762Z           "complete": true,
2026-06-17T00:59:16.2178876Z           "evidence": [
2026-06-17T00:59:16.2179058Z             {
2026-06-17T00:59:16.2179373Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.2179492Z               "line": 61
2026-06-17T00:59:16.2179593Z             },
2026-06-17T00:59:16.2179702Z             {
2026-06-17T00:59:16.2179843Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.2179953Z               "line": 596
2026-06-17T00:59:16.2180052Z             },
2026-06-17T00:59:16.2180156Z             {
2026-06-17T00:59:16.2180300Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.2180409Z               "line": 191
2026-06-17T00:59:16.2180513Z             },
2026-06-17T00:59:16.2180710Z             {
2026-06-17T00:59:16.2180857Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.2180962Z               "line": 276
2026-06-17T00:59:16.2181066Z             },
2026-06-17T00:59:16.2181172Z             {
2026-06-17T00:59:16.2181310Z               "path": "crates/spt/src/main.rs",
2026-06-17T00:59:16.2181410Z               "line": 42
2026-06-17T00:59:16.2181520Z             },
2026-06-17T00:59:16.2181625Z             {
2026-06-17T00:59:16.2181748Z               "path": "installer/install.sh",
2026-06-17T00:59:16.2181855Z               "line": 104
2026-06-17T00:59:16.2181963Z             }
2026-06-17T00:59:16.2182063Z           ]
2026-06-17T00:59:16.2182155Z         },
2026-06-17T00:59:16.2182255Z         "int": {
2026-06-17T00:59:16.2182377Z           "complete": false,
2026-06-17T00:59:16.2182486Z           "evidence": []
2026-06-17T00:59:16.2182590Z         },
2026-06-17T00:59:16.2182694Z         "unit": {
2026-06-17T00:59:16.2182808Z           "complete": true,
2026-06-17T00:59:16.2182914Z           "evidence": [
2026-06-17T00:59:16.2183013Z             {
2026-06-17T00:59:16.2183153Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T00:59:16.2183252Z               "line": 866
2026-06-17T00:59:16.2183357Z             }
2026-06-17T00:59:16.2183448Z           ]
2026-06-17T00:59:16.2183543Z         }
2026-06-17T00:59:16.2183652Z       }
2026-06-17T00:59:16.2183743Z     },
2026-06-17T00:59:16.2183848Z     {
2026-06-17T00:59:16.2183967Z       "id": "REQ-INSTALL-7",
2026-06-17T00:59:16.2185145Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-17T00:59:16.2185268Z       "requiredStages": [
2026-06-17T00:59:16.2185378Z         "impl"
2026-06-17T00:59:16.2185479Z       ],
2026-06-17T00:59:16.2185587Z       "stages": {
2026-06-17T00:59:16.2185698Z         "doc": {
2026-06-17T00:59:16.2185812Z           "complete": false,
2026-06-17T00:59:16.2185911Z           "evidence": []
2026-06-17T00:59:16.2186013Z         },
2026-06-17T00:59:16.2186122Z         "impl": {
2026-06-17T00:59:16.2186235Z           "complete": true,
2026-06-17T00:59:16.2186346Z           "evidence": [
2026-06-17T00:59:16.2186451Z             {
2026-06-17T00:59:16.2186584Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2186695Z               "line": 3644
2026-06-17T00:59:16.2186798Z             },
2026-06-17T00:59:16.2186903Z             {
2026-06-17T00:59:16.2187033Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2187141Z               "line": 157
2026-06-17T00:59:16.2187242Z             }
2026-06-17T00:59:16.2187348Z           ]
2026-06-17T00:59:16.2187447Z         },
2026-06-17T00:59:16.2187551Z         "int": {
2026-06-17T00:59:16.2187665Z           "complete": false,
2026-06-17T00:59:16.2187773Z           "evidence": []
2026-06-17T00:59:16.2187873Z         },
2026-06-17T00:59:16.2187973Z         "unit": {
2026-06-17T00:59:16.2188093Z           "complete": false,
2026-06-17T00:59:16.2188192Z           "evidence": []
2026-06-17T00:59:16.2188293Z         }
2026-06-17T00:59:16.2188463Z       }
2026-06-17T00:59:16.2188560Z     },
2026-06-17T00:59:16.2188665Z     {
2026-06-17T00:59:16.2188783Z       "id": "REQ-INSTALL-8",
2026-06-17T00:59:16.2189985Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-17T00:59:16.2190105Z       "requiredStages": [
2026-06-17T00:59:16.2190309Z         "impl"
2026-06-17T00:59:16.2190413Z       ],
2026-06-17T00:59:16.2190513Z       "stages": {
2026-06-17T00:59:16.2190617Z         "doc": {
2026-06-17T00:59:16.2190730Z           "complete": false,
2026-06-17T00:59:16.2190835Z           "evidence": []
2026-06-17T00:59:16.2190941Z         },
2026-06-17T00:59:16.2191040Z         "impl": {
2026-06-17T00:59:16.2191146Z           "complete": true,
2026-06-17T00:59:16.2191251Z           "evidence": [
2026-06-17T00:59:16.2191355Z             {
2026-06-17T00:59:16.2191485Z               "path": "installer/install.ps1",
2026-06-17T00:59:16.2191590Z               "line": 184
2026-06-17T00:59:16.2191693Z             },
2026-06-17T00:59:16.2191795Z             {
2026-06-17T00:59:16.2191928Z               "path": "installer/install.sh",
2026-06-17T00:59:16.2192037Z               "line": 121
2026-06-17T00:59:16.2192134Z             }
2026-06-17T00:59:16.2192232Z           ]
2026-06-17T00:59:16.2192333Z         },
2026-06-17T00:59:16.2192434Z         "int": {
2026-06-17T00:59:16.2192537Z           "complete": false,
2026-06-17T00:59:16.2192638Z           "evidence": []
2026-06-17T00:59:16.2192744Z         },
2026-06-17T00:59:16.2192857Z         "unit": {
2026-06-17T00:59:16.2192961Z           "complete": false,
2026-06-17T00:59:16.2193066Z           "evidence": []
2026-06-17T00:59:16.2193164Z         }
2026-06-17T00:59:16.2193273Z       }
2026-06-17T00:59:16.2193373Z     },
2026-06-17T00:59:16.2193475Z     {
2026-06-17T00:59:16.2193588Z       "id": "REQ-INSTALL-9",
2026-06-17T00:59:16.2194847Z       "title": "Adapter add from a GitHub release archive: `spt adapter add --release <user/repo> [--tag <tag>] [--asset <name>]` fetches a `.spt` tar asset over HTTPS+GitHub trust, extracts it to the durable adapters/_github home, and registers the root — ships built binaries source-free and versioned (the distribution path for an adapter whose dev repo is a monorepo subdir, where --github root-only clone does not fit)",
2026-06-17T00:59:16.2194962Z       "requiredStages": [
2026-06-17T00:59:16.2195061Z         "doc",
2026-06-17T00:59:16.2195157Z         "impl",
2026-06-17T00:59:16.2195267Z         "unit"
2026-06-17T00:59:16.2195376Z       ],
2026-06-17T00:59:16.2195495Z       "stages": {
2026-06-17T00:59:16.2195601Z         "doc": {
2026-06-17T00:59:16.2195710Z           "complete": true,
2026-06-17T00:59:16.2195818Z           "evidence": [
2026-06-17T00:59:16.2195923Z             {
2026-06-17T00:59:16.2196048Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2196152Z               "line": 719
2026-06-17T00:59:16.2196262Z             }
2026-06-17T00:59:16.2196363Z           ]
2026-06-17T00:59:16.2196472Z         },
2026-06-17T00:59:16.2196573Z         "impl": {
2026-06-17T00:59:16.2196687Z           "complete": true,
2026-06-17T00:59:16.2196800Z           "evidence": [
2026-06-17T00:59:16.2196902Z             {
2026-06-17T00:59:16.2197030Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2197129Z               "line": 2334
2026-06-17T00:59:16.2197231Z             },
2026-06-17T00:59:16.2197335Z             {
2026-06-17T00:59:16.2197463Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2197579Z               "line": 2358
2026-06-17T00:59:16.2197678Z             }
2026-06-17T00:59:16.2197778Z           ]
2026-06-17T00:59:16.2197880Z         },
2026-06-17T00:59:16.2197988Z         "int": {
2026-06-17T00:59:16.2198206Z           "complete": false,
2026-06-17T00:59:16.2198319Z           "evidence": []
2026-06-17T00:59:16.2198418Z         },
2026-06-17T00:59:16.2198519Z         "unit": {
2026-06-17T00:59:16.2198633Z           "complete": true,
2026-06-17T00:59:16.2198733Z           "evidence": [
2026-06-17T00:59:16.2198834Z             {
2026-06-17T00:59:16.2199043Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2199149Z               "line": 6922
2026-06-17T00:59:16.2199253Z             },
2026-06-17T00:59:16.2199343Z             {
2026-06-17T00:59:16.2199487Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2199711Z               "line": 7695
2026-06-17T00:59:16.2199812Z             }
2026-06-17T00:59:16.2199916Z           ]
2026-06-17T00:59:16.2200016Z         }
2026-06-17T00:59:16.2200117Z       }
2026-06-17T00:59:16.2200216Z     },
2026-06-17T00:59:16.2200316Z     {
2026-06-17T00:59:16.2200422Z       "id": "REQ-KICK-1",
2026-06-17T00:59:16.2202961Z       "title": "Explicit, loud controller displacement: `spt rc kick <target>` / `--take` (Take intent) kicks the incumbent controller and becomes controller; the displaced controller receives a LOUD `Displaced{by}` notice and is FULLY DETACHED (not demoted to a viewer). A default attach to a controlled endpoint is NEVER a silent displace (it is the Control busy-refusal). An old (N-1) rc omits intent → Control, so it can drive a free endpoint but CANNOT `--take` — it can never silently steal, and gets a clean busy-refusal instead. Taking control rides the same access_check(endpoint, origin, Unsolicited) as a normal control attach (if you may drive, you may take — no elevated kick policy). The picker surfaces 'Kick <node> and attach' (Take) only on a controlled (blue ■) endpoint, via the existing attach dispatch (single-bringup-path: intent is a parameter).",
2026-06-17T00:59:16.2203088Z       "requiredStages": [
2026-06-17T00:59:16.2203193Z         "doc",
2026-06-17T00:59:16.2203299Z         "impl",
2026-06-17T00:59:16.2203398Z         "unit",
2026-06-17T00:59:16.2203497Z         "int"
2026-06-17T00:59:16.2203602Z       ],
2026-06-17T00:59:16.2203702Z       "stages": {
2026-06-17T00:59:16.2203805Z         "doc": {
2026-06-17T00:59:16.2203910Z           "complete": true,
2026-06-17T00:59:16.2204015Z           "evidence": [
2026-06-17T00:59:16.2204119Z             {
2026-06-17T00:59:16.2204234Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2204335Z               "line": 330
2026-06-17T00:59:16.2204434Z             }
2026-06-17T00:59:16.2204534Z           ]
2026-06-17T00:59:16.2204635Z         },
2026-06-17T00:59:16.2204744Z         "impl": {
2026-06-17T00:59:16.2204859Z           "complete": true,
2026-06-17T00:59:16.2204964Z           "evidence": [
2026-06-17T00:59:16.2205064Z             {
2026-06-17T00:59:16.2205207Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2205321Z               "line": 41
2026-06-17T00:59:16.2205426Z             },
2026-06-17T00:59:16.2205527Z             {
2026-06-17T00:59:16.2205659Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2205760Z               "line": 181
2026-06-17T00:59:16.2205861Z             }
2026-06-17T00:59:16.2205964Z           ]
2026-06-17T00:59:16.2206065Z         },
2026-06-17T00:59:16.2206171Z         "int": {
2026-06-17T00:59:16.2206284Z           "complete": true,
2026-06-17T00:59:16.2206402Z           "evidence": [
2026-06-17T00:59:16.2206498Z             {
2026-06-17T00:59:16.2206646Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2206760Z               "line": 789
2026-06-17T00:59:16.2206861Z             }
2026-06-17T00:59:16.2206961Z           ]
2026-06-17T00:59:16.2207064Z         },
2026-06-17T00:59:16.2207166Z         "unit": {
2026-06-17T00:59:16.2207271Z           "complete": true,
2026-06-17T00:59:16.2207384Z           "evidence": [
2026-06-17T00:59:16.2207481Z             {
2026-06-17T00:59:16.2207628Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2207824Z               "line": 205
2026-06-17T00:59:16.2207928Z             }
2026-06-17T00:59:16.2208023Z           ]
2026-06-17T00:59:16.2208125Z         }
2026-06-17T00:59:16.2208219Z       }
2026-06-17T00:59:16.2208324Z     },
2026-06-17T00:59:16.2208421Z     {
2026-06-17T00:59:16.2208538Z       "id": "REQ-MANIFEST-1",
2026-06-17T00:59:16.2208757Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-17T00:59:16.2208884Z       "requiredStages": [
2026-06-17T00:59:16.2209041Z         "doc",
2026-06-17T00:59:16.2209137Z         "impl",
2026-06-17T00:59:16.2209237Z         "unit"
2026-06-17T00:59:16.2209442Z       ],
2026-06-17T00:59:16.2209546Z       "stages": {
2026-06-17T00:59:16.2209651Z         "doc": {
2026-06-17T00:59:16.2209771Z           "complete": true,
2026-06-17T00:59:16.2209875Z           "evidence": [
2026-06-17T00:59:16.2209980Z             {
2026-06-17T00:59:16.2210105Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.2210223Z               "line": 19
2026-06-17T00:59:16.2210329Z             }
2026-06-17T00:59:16.2210433Z           ]
2026-06-17T00:59:16.2210529Z         },
2026-06-17T00:59:16.2210624Z         "impl": {
2026-06-17T00:59:16.2210729Z           "complete": true,
2026-06-17T00:59:16.2210829Z           "evidence": [
2026-06-17T00:59:16.2210934Z             {
2026-06-17T00:59:16.2211077Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2211191Z               "line": 18
2026-06-17T00:59:16.2211293Z             }
2026-06-17T00:59:16.2211387Z           ]
2026-06-17T00:59:16.2211490Z         },
2026-06-17T00:59:16.2211586Z         "int": {
2026-06-17T00:59:16.2211704Z           "complete": false,
2026-06-17T00:59:16.2211807Z           "evidence": []
2026-06-17T00:59:16.2211913Z         },
2026-06-17T00:59:16.2212013Z         "unit": {
2026-06-17T00:59:16.2212118Z           "complete": true,
2026-06-17T00:59:16.2212222Z           "evidence": [
2026-06-17T00:59:16.2212324Z             {
2026-06-17T00:59:16.2212475Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2212572Z               "line": 959
2026-06-17T00:59:16.2212676Z             },
2026-06-17T00:59:16.2212775Z             {
2026-06-17T00:59:16.2212919Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2213028Z               "line": 1111
2026-06-17T00:59:16.2213133Z             },
2026-06-17T00:59:16.2213234Z             {
2026-06-17T00:59:16.2213371Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2213477Z               "line": 1123
2026-06-17T00:59:16.2213583Z             },
2026-06-17T00:59:16.2213681Z             {
2026-06-17T00:59:16.2213826Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2213926Z               "line": 1134
2026-06-17T00:59:16.2214033Z             },
2026-06-17T00:59:16.2214138Z             {
2026-06-17T00:59:16.2214281Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2214398Z               "line": 1151
2026-06-17T00:59:16.2214503Z             },
2026-06-17T00:59:16.2214600Z             {
2026-06-17T00:59:16.2214746Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2214857Z               "line": 1165
2026-06-17T00:59:16.2214957Z             },
2026-06-17T00:59:16.2215061Z             {
2026-06-17T00:59:16.2215205Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2215309Z               "line": 1281
2026-06-17T00:59:16.2215419Z             },
2026-06-17T00:59:16.2215515Z             {
2026-06-17T00:59:16.2215661Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2215768Z               "line": 1296
2026-06-17T00:59:16.2215872Z             },
2026-06-17T00:59:16.2215976Z             {
2026-06-17T00:59:16.2216121Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2216238Z               "line": 1407
2026-06-17T00:59:16.2216339Z             },
2026-06-17T00:59:16.2216553Z             {
2026-06-17T00:59:16.2216703Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2216817Z               "line": 1418
2026-06-17T00:59:16.2216915Z             }
2026-06-17T00:59:16.2217015Z           ]
2026-06-17T00:59:16.2217121Z         }
2026-06-17T00:59:16.2217220Z       }
2026-06-17T00:59:16.2217325Z     },
2026-06-17T00:59:16.2217426Z     {
2026-06-17T00:59:16.2217549Z       "id": "REQ-MANIFEST-2",
2026-06-17T00:59:16.2218088Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-17T00:59:16.2218293Z       "requiredStages": [
2026-06-17T00:59:16.2218398Z         "doc",
2026-06-17T00:59:16.2218498Z         "impl",
2026-06-17T00:59:16.2218603Z         "unit"
2026-06-17T00:59:16.2218699Z       ],
2026-06-17T00:59:16.2218803Z       "stages": {
2026-06-17T00:59:16.2218903Z         "doc": {
2026-06-17T00:59:16.2219089Z           "complete": true,
2026-06-17T00:59:16.2219212Z           "evidence": [
2026-06-17T00:59:16.2219317Z             {
2026-06-17T00:59:16.2219463Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2219577Z               "line": 75
2026-06-17T00:59:16.2219678Z             }
2026-06-17T00:59:16.2219787Z           ]
2026-06-17T00:59:16.2219887Z         },
2026-06-17T00:59:16.2219997Z         "impl": {
2026-06-17T00:59:16.2220111Z           "complete": true,
2026-06-17T00:59:16.2220221Z           "evidence": [
2026-06-17T00:59:16.2220326Z             {
2026-06-17T00:59:16.2220483Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2220598Z               "line": 62
2026-06-17T00:59:16.2220693Z             },
2026-06-17T00:59:16.2220802Z             {
2026-06-17T00:59:16.2220951Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2221051Z               "line": 15
2026-06-17T00:59:16.2221155Z             },
2026-06-17T00:59:16.2221261Z             {
2026-06-17T00:59:16.2221408Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2221514Z               "line": 65
2026-06-17T00:59:16.2221614Z             },
2026-06-17T00:59:16.2221713Z             {
2026-06-17T00:59:16.2221863Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2221975Z               "line": 83
2026-06-17T00:59:16.2222079Z             },
2026-06-17T00:59:16.2222189Z             {
2026-06-17T00:59:16.2222335Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2222449Z               "line": 183
2026-06-17T00:59:16.2222555Z             },
2026-06-17T00:59:16.2222659Z             {
2026-06-17T00:59:16.2222812Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2222917Z               "line": 486
2026-06-17T00:59:16.2223016Z             },
2026-06-17T00:59:16.2223122Z             {
2026-06-17T00:59:16.2223275Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2223388Z               "line": 512
2026-06-17T00:59:16.2223484Z             },
2026-06-17T00:59:16.2223593Z             {
2026-06-17T00:59:16.2223737Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2223842Z               "line": 630
2026-06-17T00:59:16.2223946Z             },
2026-06-17T00:59:16.2224056Z             {
2026-06-17T00:59:16.2224199Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2224304Z               "line": 655
2026-06-17T00:59:16.2224401Z             },
2026-06-17T00:59:16.2224505Z             {
2026-06-17T00:59:16.2224655Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2224760Z               "line": 678
2026-06-17T00:59:16.2224864Z             },
2026-06-17T00:59:16.2224968Z             {
2026-06-17T00:59:16.2225117Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2225216Z               "line": 693
2026-06-17T00:59:16.2225316Z             },
2026-06-17T00:59:16.2225427Z             {
2026-06-17T00:59:16.2225659Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2225765Z               "line": 5266
2026-06-17T00:59:16.2225865Z             },
2026-06-17T00:59:16.2225964Z             {
2026-06-17T00:59:16.2226099Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2226212Z               "line": 5280
2026-06-17T00:59:16.2226313Z             },
2026-06-17T00:59:16.2226418Z             {
2026-06-17T00:59:16.2226541Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2226643Z               "line": 5314
2026-06-17T00:59:16.2226747Z             }
2026-06-17T00:59:16.2226948Z           ]
2026-06-17T00:59:16.2227053Z         },
2026-06-17T00:59:16.2227157Z         "int": {
2026-06-17T00:59:16.2227263Z           "complete": false,
2026-06-17T00:59:16.2227377Z           "evidence": []
2026-06-17T00:59:16.2227480Z         },
2026-06-17T00:59:16.2227575Z         "unit": {
2026-06-17T00:59:16.2227695Z           "complete": true,
2026-06-17T00:59:16.2227799Z           "evidence": [
2026-06-17T00:59:16.2227894Z             {
2026-06-17T00:59:16.2228038Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2228152Z               "line": 921
2026-06-17T00:59:16.2228258Z             },
2026-06-17T00:59:16.2228362Z             {
2026-06-17T00:59:16.2228510Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2228611Z               "line": 211
2026-06-17T00:59:16.2228720Z             },
2026-06-17T00:59:16.2228815Z             {
2026-06-17T00:59:16.2229058Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2229178Z               "line": 272
2026-06-17T00:59:16.2229274Z             },
2026-06-17T00:59:16.2229382Z             {
2026-06-17T00:59:16.2229531Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2229649Z               "line": 313
2026-06-17T00:59:16.2229753Z             },
2026-06-17T00:59:16.2229853Z             {
2026-06-17T00:59:16.2230008Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2230113Z               "line": 325
2026-06-17T00:59:16.2230223Z             },
2026-06-17T00:59:16.2230318Z             {
2026-06-17T00:59:16.2230466Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2230577Z               "line": 336
2026-06-17T00:59:16.2230680Z             },
2026-06-17T00:59:16.2230786Z             {
2026-06-17T00:59:16.2230929Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2231048Z               "line": 345
2026-06-17T00:59:16.2231144Z             },
2026-06-17T00:59:16.2231249Z             {
2026-06-17T00:59:16.2231396Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2231511Z               "line": 361
2026-06-17T00:59:16.2231615Z             },
2026-06-17T00:59:16.2231720Z             {
2026-06-17T00:59:16.2231854Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2231954Z               "line": 444
2026-06-17T00:59:16.2232064Z             },
2026-06-17T00:59:16.2232169Z             {
2026-06-17T00:59:16.2232317Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2232432Z               "line": 881
2026-06-17T00:59:16.2232531Z             },
2026-06-17T00:59:16.2232630Z             {
2026-06-17T00:59:16.2232773Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2232880Z               "line": 905
2026-06-17T00:59:16.2232985Z             },
2026-06-17T00:59:16.2233095Z             {
2026-06-17T00:59:16.2233247Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2233357Z               "line": 931
2026-06-17T00:59:16.2233458Z             },
2026-06-17T00:59:16.2233562Z             {
2026-06-17T00:59:16.2233706Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2233815Z               "line": 950
2026-06-17T00:59:16.2233910Z             },
2026-06-17T00:59:16.2234011Z             {
2026-06-17T00:59:16.2234258Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2234378Z               "line": 981
2026-06-17T00:59:16.2234478Z             },
2026-06-17T00:59:16.2234578Z             {
2026-06-17T00:59:16.2234722Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.2234835Z               "line": 309
2026-06-17T00:59:16.2234936Z             },
2026-06-17T00:59:16.2235041Z             {
2026-06-17T00:59:16.2235177Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2235292Z               "line": 580
2026-06-17T00:59:16.2235401Z             },
2026-06-17T00:59:16.2235619Z             {
2026-06-17T00:59:16.2235753Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2235866Z               "line": 7872
2026-06-17T00:59:16.2235972Z             },
2026-06-17T00:59:16.2236077Z             {
2026-06-17T00:59:16.2236205Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2236315Z               "line": 8782
2026-06-17T00:59:16.2236425Z             }
2026-06-17T00:59:16.2236529Z           ]
2026-06-17T00:59:16.2236635Z         }
2026-06-17T00:59:16.2236735Z       }
2026-06-17T00:59:16.2236840Z     },
2026-06-17T00:59:16.2236941Z     {
2026-06-17T00:59:16.2237064Z       "id": "REQ-MANIFEST-3",
2026-06-17T00:59:16.2237731Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-17T00:59:16.2237857Z       "requiredStages": [
2026-06-17T00:59:16.2237965Z         "doc",
2026-06-17T00:59:16.2238064Z         "impl",
2026-06-17T00:59:16.2238164Z         "unit"
2026-06-17T00:59:16.2238265Z       ],
2026-06-17T00:59:16.2238373Z       "stages": {
2026-06-17T00:59:16.2238474Z         "doc": {
2026-06-17T00:59:16.2238588Z           "complete": true,
2026-06-17T00:59:16.2238712Z           "evidence": [
2026-06-17T00:59:16.2238808Z             {
2026-06-17T00:59:16.2239022Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2239133Z               "line": 81
2026-06-17T00:59:16.2239237Z             }
2026-06-17T00:59:16.2239341Z           ]
2026-06-17T00:59:16.2239452Z         },
2026-06-17T00:59:16.2239561Z         "impl": {
2026-06-17T00:59:16.2239680Z           "complete": true,
2026-06-17T00:59:16.2239796Z           "evidence": [
2026-06-17T00:59:16.2239885Z             {
2026-06-17T00:59:16.2240033Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2240149Z               "line": 72
2026-06-17T00:59:16.2240252Z             },
2026-06-17T00:59:16.2240356Z             {
2026-06-17T00:59:16.2240508Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2240612Z               "line": 101
2026-06-17T00:59:16.2240717Z             },
2026-06-17T00:59:16.2240827Z             {
2026-06-17T00:59:16.2240974Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2241084Z               "line": 132
2026-06-17T00:59:16.2241184Z             },
2026-06-17T00:59:16.2241288Z             {
2026-06-17T00:59:16.2241442Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2241555Z               "line": 536
2026-06-17T00:59:16.2241661Z             },
2026-06-17T00:59:16.2241766Z             {
2026-06-17T00:59:16.2241908Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2242019Z               "line": 592
2026-06-17T00:59:16.2242123Z             },
2026-06-17T00:59:16.2242228Z             {
2026-06-17T00:59:16.2242363Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2242480Z               "line": 5327
2026-06-17T00:59:16.2242571Z             },
2026-06-17T00:59:16.2242678Z             {
2026-06-17T00:59:16.2242814Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2242920Z               "line": 5353
2026-06-17T00:59:16.2243026Z             }
2026-06-17T00:59:16.2243124Z           ]
2026-06-17T00:59:16.2243324Z         },
2026-06-17T00:59:16.2243426Z         "int": {
2026-06-17T00:59:16.2243545Z           "complete": false,
2026-06-17T00:59:16.2243665Z           "evidence": []
2026-06-17T00:59:16.2243765Z         },
2026-06-17T00:59:16.2243874Z         "unit": {
2026-06-17T00:59:16.2243989Z           "complete": true,
2026-06-17T00:59:16.2244089Z           "evidence": [
2026-06-17T00:59:16.2244198Z             {
2026-06-17T00:59:16.2244347Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2244461Z               "line": 371
2026-06-17T00:59:16.2244561Z             },
2026-06-17T00:59:16.2244771Z             {
2026-06-17T00:59:16.2244920Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2245024Z               "line": 429
2026-06-17T00:59:16.2245119Z             },
2026-06-17T00:59:16.2245206Z             {
2026-06-17T00:59:16.2245362Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2245467Z               "line": 1005
2026-06-17T00:59:16.2245573Z             },
2026-06-17T00:59:16.2245681Z             {
2026-06-17T00:59:16.2245804Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2245923Z               "line": 7927
2026-06-17T00:59:16.2246027Z             }
2026-06-17T00:59:16.2246131Z           ]
2026-06-17T00:59:16.2246232Z         }
2026-06-17T00:59:16.2246336Z       }
2026-06-17T00:59:16.2246441Z     },
2026-06-17T00:59:16.2246547Z     {
2026-06-17T00:59:16.2246670Z       "id": "REQ-MANIFEST-4",
2026-06-17T00:59:16.2247400Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-17T00:59:16.2247515Z       "requiredStages": [
2026-06-17T00:59:16.2247624Z         "doc",
2026-06-17T00:59:16.2247729Z         "impl",
2026-06-17T00:59:16.2247834Z         "unit"
2026-06-17T00:59:16.2247933Z       ],
2026-06-17T00:59:16.2248053Z       "stages": {
2026-06-17T00:59:16.2248149Z         "doc": {
2026-06-17T00:59:16.2248257Z           "complete": true,
2026-06-17T00:59:16.2248364Z           "evidence": [
2026-06-17T00:59:16.2248469Z             {
2026-06-17T00:59:16.2248591Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2248700Z               "line": 88
2026-06-17T00:59:16.2248806Z             }
2026-06-17T00:59:16.2248906Z           ]
2026-06-17T00:59:16.2249072Z         },
2026-06-17T00:59:16.2249173Z         "impl": {
2026-06-17T00:59:16.2249291Z           "complete": true,
2026-06-17T00:59:16.2249407Z           "evidence": [
2026-06-17T00:59:16.2249517Z             {
2026-06-17T00:59:16.2249668Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2249764Z               "line": 80
2026-06-17T00:59:16.2249864Z             },
2026-06-17T00:59:16.2249969Z             {
2026-06-17T00:59:16.2250121Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2250226Z               "line": 152
2026-06-17T00:59:16.2250323Z             },
2026-06-17T00:59:16.2250423Z             {
2026-06-17T00:59:16.2250564Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2250680Z               "line": 83
2026-06-17T00:59:16.2250784Z             },
2026-06-17T00:59:16.2250874Z             {
2026-06-17T00:59:16.2251017Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2251120Z               "line": 625
2026-06-17T00:59:16.2251224Z             },
2026-06-17T00:59:16.2251324Z             {
2026-06-17T00:59:16.2251472Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2251582Z               "line": 650
2026-06-17T00:59:16.2251682Z             }
2026-06-17T00:59:16.2251782Z           ]
2026-06-17T00:59:16.2251882Z         },
2026-06-17T00:59:16.2251988Z         "int": {
2026-06-17T00:59:16.2252102Z           "complete": false,
2026-06-17T00:59:16.2252216Z           "evidence": []
2026-06-17T00:59:16.2252317Z         },
2026-06-17T00:59:16.2252516Z         "unit": {
2026-06-17T00:59:16.2252637Z           "complete": true,
2026-06-17T00:59:16.2252731Z           "evidence": [
2026-06-17T00:59:16.2252836Z             {
2026-06-17T00:59:16.2252984Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2253102Z               "line": 1231
2026-06-17T00:59:16.2253204Z             },
2026-06-17T00:59:16.2253308Z             {
2026-06-17T00:59:16.2253451Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2253552Z               "line": 1264
2026-06-17T00:59:16.2253651Z             },
2026-06-17T00:59:16.2253845Z             {
2026-06-17T00:59:16.2253991Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2254100Z               "line": 984
2026-06-17T00:59:16.2254201Z             }
2026-06-17T00:59:16.2254302Z           ]
2026-06-17T00:59:16.2254406Z         }
2026-06-17T00:59:16.2254502Z       }
2026-06-17T00:59:16.2254607Z     },
2026-06-17T00:59:16.2254716Z     {
2026-06-17T00:59:16.2254846Z       "id": "REQ-MANIFEST-5",
2026-06-17T00:59:16.2257807Z       "title": "File-backed adapter [strings] (M12-W3-T3.1): a [strings] dot-path value MAY be an inline-table FILE POINTER `key = { file = \"rel/path\" }` resolved to the file's contents at get-string time, keeping large bodies (skill-instructions, hint text) out of the manifest. A value-position table with a `file` key IS the pointer form (reserved — cannot double as data). Per-adapter aux storage `adapters/<adapter>/strings/`; pointers resolve relative to it with CONTAINMENT (reject `..`/absolute escaping the dir). UPDATE-SAFETY: a LOCAL profile's file-pointers resolve relative to the user-owned local-profile dir (NOT adapter-shipped strings/, which adapter updates overwrite), or the local profile inlines. Validate-at-register (fail-fast on a bad/escaping/missing pointer) + LAZY read at get-string (live file edits reflect, no re-register) + skip-diagnostics on missing-at-read (no hard-crash, mirrors [digest]). Rides the same leaf-replace profile overlay as the rest of [strings].",
2026-06-17T00:59:16.2257955Z       "requiredStages": [
2026-06-17T00:59:16.2258061Z         "doc",
2026-06-17T00:59:16.2258160Z         "impl",
2026-06-17T00:59:16.2258269Z         "unit"
2026-06-17T00:59:16.2258366Z       ],
2026-06-17T00:59:16.2258470Z       "stages": {
2026-06-17T00:59:16.2258579Z         "doc": {
2026-06-17T00:59:16.2258686Z           "complete": true,
2026-06-17T00:59:16.2258799Z           "evidence": [
2026-06-17T00:59:16.2258899Z             {
2026-06-17T00:59:16.2259104Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2259212Z               "line": 83
2026-06-17T00:59:16.2259318Z             }
2026-06-17T00:59:16.2259428Z           ]
2026-06-17T00:59:16.2259532Z         },
2026-06-17T00:59:16.2259637Z         "impl": {
2026-06-17T00:59:16.2259748Z           "complete": true,
2026-06-17T00:59:16.2259865Z           "evidence": [
2026-06-17T00:59:16.2259967Z             {
2026-06-17T00:59:16.2260128Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2260243Z               "line": 120
2026-06-17T00:59:16.2260348Z             }
2026-06-17T00:59:16.2260452Z           ]
2026-06-17T00:59:16.2260548Z         },
2026-06-17T00:59:16.2260649Z         "int": {
2026-06-17T00:59:16.2260767Z           "complete": false,
2026-06-17T00:59:16.2263425Z           "evidence": []
2026-06-17T00:59:16.2263535Z         },
2026-06-17T00:59:16.2263635Z         "unit": {
2026-06-17T00:59:16.2263760Z           "complete": true,
2026-06-17T00:59:16.2263859Z           "evidence": [
2026-06-17T00:59:16.2263964Z             {
2026-06-17T00:59:16.2264122Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T00:59:16.2264230Z               "line": 404
2026-06-17T00:59:16.2264329Z             },
2026-06-17T00:59:16.2264434Z             {
2026-06-17T00:59:16.2264589Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2264694Z               "line": 1078
2026-06-17T00:59:16.2264937Z             },
2026-06-17T00:59:16.2265033Z             {
2026-06-17T00:59:16.2265196Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2265300Z               "line": 1107
2026-06-17T00:59:16.2265401Z             },
2026-06-17T00:59:16.2265501Z             {
2026-06-17T00:59:16.2265653Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2265754Z               "line": 1147
2026-06-17T00:59:16.2265858Z             },
2026-06-17T00:59:16.2265962Z             {
2026-06-17T00:59:16.2266115Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2266340Z               "line": 1162
2026-06-17T00:59:16.2266439Z             }
2026-06-17T00:59:16.2266530Z           ]
2026-06-17T00:59:16.2266636Z         }
2026-06-17T00:59:16.2266740Z       }
2026-06-17T00:59:16.2266839Z     },
2026-06-17T00:59:16.2266939Z     {
2026-06-17T00:59:16.2267058Z       "id": "REQ-MANIFEST-6",
2026-06-17T00:59:16.2269431Z       "title": "Cross-adapter fallback target addressing (M12-W3-T3.2): a cross-adapter fallback target is addressed as `<adapter>:<profile>` (not just a bare adapter_name), resolved through the one composite-addressing resolver (registry::resolve_option) at every adapter-option read site so a fallback may select a shipped/local profile (e.g. a `ccs` profile). CONTEXT.md §cross-adapter-fallback reconciled (\"ccs is a profile; cross-adapter fallback may target <adapter>:<profile>\"). Contract-only this milestone: the node-wide fallback SETTING + its rate-limit invocation are deferred to the consuming milestone (the runtime path does not exist yet); this REQ guarantees the ADDRESSING resolves.",
2026-06-17T00:59:16.2269584Z       "requiredStages": [
2026-06-17T00:59:16.2269687Z         "doc",
2026-06-17T00:59:16.2269787Z         "unit"
2026-06-17T00:59:16.2269888Z       ],
2026-06-17T00:59:16.2269997Z       "stages": {
2026-06-17T00:59:16.2270101Z         "doc": {
2026-06-17T00:59:16.2270222Z           "complete": true,
2026-06-17T00:59:16.2270331Z           "evidence": [
2026-06-17T00:59:16.2270425Z             {
2026-06-17T00:59:16.2270546Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2270651Z               "line": 141
2026-06-17T00:59:16.2270755Z             }
2026-06-17T00:59:16.2270861Z           ]
2026-06-17T00:59:16.2270965Z         },
2026-06-17T00:59:16.2271069Z         "impl": {
2026-06-17T00:59:16.2271185Z           "complete": false,
2026-06-17T00:59:16.2271299Z           "evidence": []
2026-06-17T00:59:16.2271404Z         },
2026-06-17T00:59:16.2271509Z         "int": {
2026-06-17T00:59:16.2271627Z           "complete": false,
2026-06-17T00:59:16.2271743Z           "evidence": []
2026-06-17T00:59:16.2271838Z         },
2026-06-17T00:59:16.2271932Z         "unit": {
2026-06-17T00:59:16.2272046Z           "complete": true,
2026-06-17T00:59:16.2272146Z           "evidence": [
2026-06-17T00:59:16.2272249Z             {
2026-06-17T00:59:16.2272416Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.2272527Z               "line": 1184
2026-06-17T00:59:16.2272630Z             }
2026-06-17T00:59:16.2272731Z           ]
2026-06-17T00:59:16.2272836Z         }
2026-06-17T00:59:16.2272940Z       }
2026-06-17T00:59:16.2273041Z     },
2026-06-17T00:59:16.2273146Z     {
2026-06-17T00:59:16.2273264Z       "id": "REQ-MANIFEST-7",
2026-06-17T00:59:16.2276389Z       "title": "Adapter-declared shortcut basename (M12-W2 follow-on): an optional `[adapter] shortcut_basename` manifest field names the basename the `spt endpoint run` picker bakes into the generated `<basename>-<id>` launcher shortcut (REQ-RUN-SHORTCUT). Absent ⇒ the harness-agnostic default `spt` (→ `spt-<id>`); an adapter sets it to brand its shortcuts (claude-spt → `cc` → `cc-<id>`), so the Claude-Code-ness lives in the PUBLISHED adapter manifest, never hardcoded in spt-core. The picker reads it from the RESOLVED manifest of the selected adapter (registry::resolve_option), falling back to `spt` when absent/empty/unresolvable. Additive + N-1-safe (serde-default Option, omitted from serialization when absent; old manifests parse clean); manifest.schema.json regenerated from the derive (ADR-0001, CI drift-gated). Documented in docs/MANIFEST.md `[adapter]` section + the claude-spt worked example — the adapter-author contract perri builds spt-claude-code against.",
2026-06-17T00:59:16.2276666Z       "requiredStages": [
2026-06-17T00:59:16.2276766Z         "doc",
2026-06-17T00:59:16.2276867Z         "impl",
2026-06-17T00:59:16.2276967Z         "unit"
2026-06-17T00:59:16.2277066Z       ],
2026-06-17T00:59:16.2277162Z       "stages": {
2026-06-17T00:59:16.2277268Z         "doc": {
2026-06-17T00:59:16.2277484Z           "complete": true,
2026-06-17T00:59:16.2277599Z           "evidence": [
2026-06-17T00:59:16.2277697Z             {
2026-06-17T00:59:16.2277831Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.2277931Z               "line": 34
2026-06-17T00:59:16.2278031Z             }
2026-06-17T00:59:16.2278131Z           ]
2026-06-17T00:59:16.2278241Z         },
2026-06-17T00:59:16.2278345Z         "impl": {
2026-06-17T00:59:16.2278465Z           "complete": true,
2026-06-17T00:59:16.2278575Z           "evidence": [
2026-06-17T00:59:16.2278679Z             {
2026-06-17T00:59:16.2278828Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T00:59:16.2279027Z               "line": 54
2026-06-17T00:59:16.2279128Z             }
2026-06-17T00:59:16.2279228Z           ]
2026-06-17T00:59:16.2279332Z         },
2026-06-17T00:59:16.2279443Z         "int": {
2026-06-17T00:59:16.2279566Z           "complete": false,
2026-06-17T00:59:16.2279676Z           "evidence": []
2026-06-17T00:59:16.2279782Z         },
2026-06-17T00:59:16.2279890Z         "unit": {
2026-06-17T00:59:16.2280015Z           "complete": true,
2026-06-17T00:59:16.2280116Z           "evidence": [
2026-06-17T00:59:16.2280219Z             {
2026-06-17T00:59:16.2280376Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2280496Z               "line": 1424
2026-06-17T00:59:16.2280591Z             }
2026-06-17T00:59:16.2280690Z           ]
2026-06-17T00:59:16.2280791Z         }
2026-06-17T00:59:16.2280891Z       }
2026-06-17T00:59:16.2280995Z     },
2026-06-17T00:59:16.2281092Z     {
2026-06-17T00:59:16.2281201Z       "id": "REQ-MESH-1",
2026-06-17T00:59:16.2283363Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-17T00:59:16.2283505Z       "requiredStages": [
2026-06-17T00:59:16.2283606Z         "impl",
2026-06-17T00:59:16.2283711Z         "unit",
2026-06-17T00:59:16.2283815Z         "int"
2026-06-17T00:59:16.2283916Z       ],
2026-06-17T00:59:16.2284016Z       "stages": {
2026-06-17T00:59:16.2284116Z         "doc": {
2026-06-17T00:59:16.2284230Z           "complete": false,
2026-06-17T00:59:16.2284349Z           "evidence": []
2026-06-17T00:59:16.2284450Z         },
2026-06-17T00:59:16.2284550Z         "impl": {
2026-06-17T00:59:16.2284664Z           "complete": true,
2026-06-17T00:59:16.2284769Z           "evidence": [
2026-06-17T00:59:16.2284870Z             {
2026-06-17T00:59:16.2285021Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2285141Z               "line": 845
2026-06-17T00:59:16.2285247Z             },
2026-06-17T00:59:16.2285350Z             {
2026-06-17T00:59:16.2285516Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2285621Z               "line": 38
2026-06-17T00:59:16.2285829Z             },
2026-06-17T00:59:16.2285934Z             {
2026-06-17T00:59:16.2286095Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2286211Z               "line": 161
2026-06-17T00:59:16.2286316Z             },
2026-06-17T00:59:16.2286415Z             {
2026-06-17T00:59:16.2286555Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2286659Z               "line": 206
2026-06-17T00:59:16.2286759Z             },
2026-06-17T00:59:16.2286860Z             {
2026-06-17T00:59:16.2287007Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2287217Z               "line": 57
2026-06-17T00:59:16.2287317Z             },
2026-06-17T00:59:16.2287422Z             {
2026-06-17T00:59:16.2287588Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2287688Z               "line": 24
2026-06-17T00:59:16.2287785Z             },
2026-06-17T00:59:16.2287889Z             {
2026-06-17T00:59:16.2288054Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2288169Z               "line": 142
2026-06-17T00:59:16.2288271Z             },
2026-06-17T00:59:16.2288386Z             {
2026-06-17T00:59:16.2288535Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2288638Z               "line": 162
2026-06-17T00:59:16.2288744Z             }
2026-06-17T00:59:16.2288849Z           ]
2026-06-17T00:59:16.2289030Z         },
2026-06-17T00:59:16.2289130Z         "int": {
2026-06-17T00:59:16.2289248Z           "complete": true,
2026-06-17T00:59:16.2289364Z           "evidence": [
2026-06-17T00:59:16.2289468Z             {
2026-06-17T00:59:16.2289616Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T00:59:16.2289727Z               "line": 67
2026-06-17T00:59:16.2289831Z             },
2026-06-17T00:59:16.2289931Z             {
2026-06-17T00:59:16.2290089Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T00:59:16.2290193Z               "line": 93
2026-06-17T00:59:16.2290299Z             },
2026-06-17T00:59:16.2290399Z             {
2026-06-17T00:59:16.2290541Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T00:59:16.2290657Z               "line": 117
2026-06-17T00:59:16.2290756Z             },
2026-06-17T00:59:16.2290855Z             {
2026-06-17T00:59:16.2290998Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T00:59:16.2291117Z               "line": 134
2026-06-17T00:59:16.2291226Z             }
2026-06-17T00:59:16.2291328Z           ]
2026-06-17T00:59:16.2291432Z         },
2026-06-17T00:59:16.2291537Z         "unit": {
2026-06-17T00:59:16.2291662Z           "complete": true,
2026-06-17T00:59:16.2291757Z           "evidence": [
2026-06-17T00:59:16.2291865Z             {
2026-06-17T00:59:16.2292014Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2292118Z               "line": 427
2026-06-17T00:59:16.2292224Z             },
2026-06-17T00:59:16.2292329Z             {
2026-06-17T00:59:16.2292495Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2292602Z               "line": 376
2026-06-17T00:59:16.2292705Z             },
2026-06-17T00:59:16.2292810Z             {
2026-06-17T00:59:16.2292963Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2293076Z               "line": 412
2026-06-17T00:59:16.2293166Z             },
2026-06-17T00:59:16.2293266Z             {
2026-06-17T00:59:16.2293426Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2293546Z               "line": 427
2026-06-17T00:59:16.2293652Z             },
2026-06-17T00:59:16.2293755Z             {
2026-06-17T00:59:16.2293914Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2294023Z               "line": 438
2026-06-17T00:59:16.2294117Z             },
2026-06-17T00:59:16.2294223Z             {
2026-06-17T00:59:16.2294476Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2294590Z               "line": 449
2026-06-17T00:59:16.2294695Z             },
2026-06-17T00:59:16.2294800Z             {
2026-06-17T00:59:16.2294948Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2295061Z               "line": 460
2026-06-17T00:59:16.2295168Z             },
2026-06-17T00:59:16.2295272Z             {
2026-06-17T00:59:16.2295430Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2295525Z               "line": 496
2026-06-17T00:59:16.2295731Z             },
2026-06-17T00:59:16.2295836Z             {
2026-06-17T00:59:16.2295995Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2296110Z               "line": 519
2026-06-17T00:59:16.2296209Z             },
2026-06-17T00:59:16.2296317Z             {
2026-06-17T00:59:16.2296471Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2296585Z               "line": 546
2026-06-17T00:59:16.2296685Z             }
2026-06-17T00:59:16.2296790Z           ]
2026-06-17T00:59:16.2296895Z         }
2026-06-17T00:59:16.2296999Z       }
2026-06-17T00:59:16.2297105Z     },
2026-06-17T00:59:16.2297200Z     {
2026-06-17T00:59:16.2297324Z       "id": "REQ-MESH-2",
2026-06-17T00:59:16.2300086Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-17T00:59:16.2300239Z       "requiredStages": [
2026-06-17T00:59:16.2300348Z         "impl",
2026-06-17T00:59:16.2300453Z         "unit",
2026-06-17T00:59:16.2300554Z         "int"
2026-06-17T00:59:16.2300659Z       ],
2026-06-17T00:59:16.2300758Z       "stages": {
2026-06-17T00:59:16.2300864Z         "doc": {
2026-06-17T00:59:16.2300983Z           "complete": false,
2026-06-17T00:59:16.2301101Z           "evidence": []
2026-06-17T00:59:16.2301198Z         },
2026-06-17T00:59:16.2301303Z         "impl": {
2026-06-17T00:59:16.2301425Z           "complete": true,
2026-06-17T00:59:16.2301530Z           "evidence": [
2026-06-17T00:59:16.2301626Z             {
2026-06-17T00:59:16.2301773Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2301888Z               "line": 734
2026-06-17T00:59:16.2301993Z             },
2026-06-17T00:59:16.2302097Z             {
2026-06-17T00:59:16.2302254Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2302363Z               "line": 118
2026-06-17T00:59:16.2302464Z             },
2026-06-17T00:59:16.2302569Z             {
2026-06-17T00:59:16.2302716Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2302823Z               "line": 347
2026-06-17T00:59:16.2302922Z             },
2026-06-17T00:59:16.2303027Z             {
2026-06-17T00:59:16.2303171Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2303289Z               "line": 389
2026-06-17T00:59:16.2303389Z             },
2026-06-17T00:59:16.2303496Z             {
2026-06-17T00:59:16.2303641Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2303746Z               "line": 403
2026-06-17T00:59:16.2303845Z             },
2026-06-17T00:59:16.2304169Z             {
2026-06-17T00:59:16.2304311Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2304421Z               "line": 492
2026-06-17T00:59:16.2304516Z             },
2026-06-17T00:59:16.2304616Z             {
2026-06-17T00:59:16.2304751Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2304864Z               "line": 507
2026-06-17T00:59:16.2304969Z             },
2026-06-17T00:59:16.2305061Z             {
2026-06-17T00:59:16.2305212Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2305317Z               "line": 534
2026-06-17T00:59:16.2305527Z             },
2026-06-17T00:59:16.2305626Z             {
2026-06-17T00:59:16.2305789Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2305903Z               "line": 207
2026-06-17T00:59:16.2306010Z             },
2026-06-17T00:59:16.2306109Z             {
2026-06-17T00:59:16.2306266Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2306372Z               "line": 755
2026-06-17T00:59:16.2306475Z             },
2026-06-17T00:59:16.2306579Z             {
2026-06-17T00:59:16.2306727Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2306835Z               "line": 816
2026-06-17T00:59:16.2306935Z             },
2026-06-17T00:59:16.2307045Z             {
2026-06-17T00:59:16.2307192Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2307298Z               "line": 869
2026-06-17T00:59:16.2307403Z             },
2026-06-17T00:59:16.2307507Z             {
2026-06-17T00:59:16.2307660Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2307774Z               "line": 891
2026-06-17T00:59:16.2307864Z             },
2026-06-17T00:59:16.2307970Z             {
2026-06-17T00:59:16.2308113Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2308227Z               "line": 122
2026-06-17T00:59:16.2308333Z             },
2026-06-17T00:59:16.2308437Z             {
2026-06-17T00:59:16.2308577Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2308671Z               "line": 44
2026-06-17T00:59:16.2308771Z             },
2026-06-17T00:59:16.2308877Z             {
2026-06-17T00:59:16.2309098Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2309213Z               "line": 184
2026-06-17T00:59:16.2309317Z             },
2026-06-17T00:59:16.2309411Z             {
2026-06-17T00:59:16.2309549Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2309665Z               "line": 211
2026-06-17T00:59:16.2309768Z             },
2026-06-17T00:59:16.2309874Z             {
2026-06-17T00:59:16.2310012Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2310112Z               "line": 251
2026-06-17T00:59:16.2310218Z             },
2026-06-17T00:59:16.2310317Z             {
2026-06-17T00:59:16.2310460Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2310570Z               "line": 275
2026-06-17T00:59:16.2310675Z             },
2026-06-17T00:59:16.2310779Z             {
2026-06-17T00:59:16.2310918Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2311022Z               "line": 289
2026-06-17T00:59:16.2311129Z             },
2026-06-17T00:59:16.2311228Z             {
2026-06-17T00:59:16.2311371Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2311491Z               "line": 300
2026-06-17T00:59:16.2311590Z             },
2026-06-17T00:59:16.2311690Z             {
2026-06-17T00:59:16.2311839Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2311937Z               "line": 313
2026-06-17T00:59:16.2312046Z             }
2026-06-17T00:59:16.2312148Z           ]
2026-06-17T00:59:16.2312252Z         },
2026-06-17T00:59:16.2312361Z         "int": {
2026-06-17T00:59:16.2312481Z           "complete": true,
2026-06-17T00:59:16.2312590Z           "evidence": [
2026-06-17T00:59:16.2312806Z             {
2026-06-17T00:59:16.2312971Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-17T00:59:16.2313073Z               "line": 116
2026-06-17T00:59:16.2313172Z             },
2026-06-17T00:59:16.2313272Z             {
2026-06-17T00:59:16.2313435Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-17T00:59:16.2313549Z               "line": 181
2026-06-17T00:59:16.2313644Z             }
2026-06-17T00:59:16.2313741Z           ]
2026-06-17T00:59:16.2313844Z         },
2026-06-17T00:59:16.2313950Z         "unit": {
2026-06-17T00:59:16.2314158Z           "complete": true,
2026-06-17T00:59:16.2314263Z           "evidence": [
2026-06-17T00:59:16.2314363Z             {
2026-06-17T00:59:16.2314513Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2314637Z               "line": 999
2026-06-17T00:59:16.2314738Z             },
2026-06-17T00:59:16.2314847Z             {
2026-06-17T00:59:16.2314990Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2315101Z               "line": 1016
2026-06-17T00:59:16.2315205Z             },
2026-06-17T00:59:16.2315306Z             {
2026-06-17T00:59:16.2315453Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2315562Z               "line": 1024
2026-06-17T00:59:16.2315668Z             },
2026-06-17T00:59:16.2315772Z             {
2026-06-17T00:59:16.2315925Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2316029Z               "line": 1048
2026-06-17T00:59:16.2316130Z             },
2026-06-17T00:59:16.2316240Z             {
2026-06-17T00:59:16.2316401Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2316511Z               "line": 1499
2026-06-17T00:59:16.2316618Z             },
2026-06-17T00:59:16.2316721Z             {
2026-06-17T00:59:16.2316870Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2316970Z               "line": 347
2026-06-17T00:59:16.2317078Z             },
2026-06-17T00:59:16.2317183Z             {
2026-06-17T00:59:16.2317329Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2317442Z               "line": 370
2026-06-17T00:59:16.2317548Z             },
2026-06-17T00:59:16.2317644Z             {
2026-06-17T00:59:16.2317785Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2317896Z               "line": 407
2026-06-17T00:59:16.2317996Z             },
2026-06-17T00:59:16.2318100Z             {
2026-06-17T00:59:16.2318235Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2318344Z               "line": 431
2026-06-17T00:59:16.2318449Z             },
2026-06-17T00:59:16.2318549Z             {
2026-06-17T00:59:16.2318692Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2318807Z               "line": 483
2026-06-17T00:59:16.2318911Z             },
2026-06-17T00:59:16.2319103Z             {
2026-06-17T00:59:16.2319245Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2319369Z               "line": 499
2026-06-17T00:59:16.2319480Z             },
2026-06-17T00:59:16.2319579Z             {
2026-06-17T00:59:16.2319711Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2319816Z               "line": 514
2026-06-17T00:59:16.2319924Z             },
2026-06-17T00:59:16.2320028Z             {
2026-06-17T00:59:16.2320163Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2320272Z               "line": 531
2026-06-17T00:59:16.2320376Z             }
2026-06-17T00:59:16.2320482Z           ]
2026-06-17T00:59:16.2320586Z         }
2026-06-17T00:59:16.2320691Z       }
2026-06-17T00:59:16.2320792Z     },
2026-06-17T00:59:16.2320897Z     {
2026-06-17T00:59:16.2321006Z       "id": "REQ-MESH-3",
2026-06-17T00:59:16.2322775Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-17T00:59:16.2323008Z       "requiredStages": [
2026-06-17T00:59:16.2323118Z         "impl",
2026-06-17T00:59:16.2323222Z         "unit",
2026-06-17T00:59:16.2323328Z         "int"
2026-06-17T00:59:16.2323522Z       ],
2026-06-17T00:59:16.2323623Z       "stages": {
2026-06-17T00:59:16.2323723Z         "doc": {
2026-06-17T00:59:16.2323846Z           "complete": false,
2026-06-17T00:59:16.2323948Z           "evidence": []
2026-06-17T00:59:16.2324047Z         },
2026-06-17T00:59:16.2324151Z         "impl": {
2026-06-17T00:59:16.2324272Z           "complete": true,
2026-06-17T00:59:16.2324394Z           "evidence": [
2026-06-17T00:59:16.2324505Z             {
2026-06-17T00:59:16.2324649Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.2324756Z               "line": 641
2026-06-17T00:59:16.2324866Z             }
2026-06-17T00:59:16.2324971Z           ]
2026-06-17T00:59:16.2325073Z         },
2026-06-17T00:59:16.2325178Z         "int": {
2026-06-17T00:59:16.2325293Z           "complete": true,
2026-06-17T00:59:16.2325402Z           "evidence": [
2026-06-17T00:59:16.2325503Z             {
2026-06-17T00:59:16.2325661Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-17T00:59:16.2325774Z               "line": 373
2026-06-17T00:59:16.2325880Z             },
2026-06-17T00:59:16.2325990Z             {
2026-06-17T00:59:16.2326132Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-17T00:59:16.2326242Z               "line": 436
2026-06-17T00:59:16.2326337Z             }
2026-06-17T00:59:16.2326437Z           ]
2026-06-17T00:59:16.2326543Z         },
2026-06-17T00:59:16.2326657Z         "unit": {
2026-06-17T00:59:16.2326761Z           "complete": true,
2026-06-17T00:59:16.2326872Z           "evidence": [
2026-06-17T00:59:16.2326976Z             {
2026-06-17T00:59:16.2327120Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.2327234Z               "line": 910
2026-06-17T00:59:16.2327334Z             }
2026-06-17T00:59:16.2327435Z           ]
2026-06-17T00:59:16.2327539Z         }
2026-06-17T00:59:16.2327638Z       }
2026-06-17T00:59:16.2327738Z     },
2026-06-17T00:59:16.2327843Z     {
2026-06-17T00:59:16.2327955Z       "id": "REQ-MESH-4",
2026-06-17T00:59:16.2330314Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-17T00:59:16.2330460Z       "requiredStages": [
2026-06-17T00:59:16.2330573Z         "impl",
2026-06-17T00:59:16.2330675Z         "unit",
2026-06-17T00:59:16.2330780Z         "int"
2026-06-17T00:59:16.2330888Z       ],
2026-06-17T00:59:16.2330990Z       "stages": {
2026-06-17T00:59:16.2331085Z         "doc": {
2026-06-17T00:59:16.2331203Z           "complete": false,
2026-06-17T00:59:16.2331310Z           "evidence": []
2026-06-17T00:59:16.2331409Z         },
2026-06-17T00:59:16.2331509Z         "impl": {
2026-06-17T00:59:16.2331615Z           "complete": true,
2026-06-17T00:59:16.2331723Z           "evidence": [
2026-06-17T00:59:16.2331944Z             {
2026-06-17T00:59:16.2332110Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.2332215Z               "line": 33
2026-06-17T00:59:16.2332311Z             },
2026-06-17T00:59:16.2332410Z             {
2026-06-17T00:59:16.2332573Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2332677Z               "line": 68
2026-06-17T00:59:16.2332787Z             },
2026-06-17T00:59:16.2332888Z             {
2026-06-17T00:59:16.2333034Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2333258Z               "line": 111
2026-06-17T00:59:16.2333358Z             },
2026-06-17T00:59:16.2333462Z             {
2026-06-17T00:59:16.2333602Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2333715Z               "line": 462
2026-06-17T00:59:16.2333820Z             },
2026-06-17T00:59:16.2333921Z             {
2026-06-17T00:59:16.2334072Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2334179Z               "line": 711
2026-06-17T00:59:16.2334288Z             },
2026-06-17T00:59:16.2334387Z             {
2026-06-17T00:59:16.2334532Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2334635Z               "line": 725
2026-06-17T00:59:16.2334740Z             },
2026-06-17T00:59:16.2334846Z             {
2026-06-17T00:59:16.2334988Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2335089Z               "line": 132
2026-06-17T00:59:16.2335195Z             },
2026-06-17T00:59:16.2335312Z             {
2026-06-17T00:59:16.2335464Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2335582Z               "line": 26
2026-06-17T00:59:16.2335686Z             },
2026-06-17T00:59:16.2335786Z             {
2026-06-17T00:59:16.2335934Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2336039Z               "line": 97
2026-06-17T00:59:16.2336145Z             },
2026-06-17T00:59:16.2336249Z             {
2026-06-17T00:59:16.2336397Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2336511Z               "line": 119
2026-06-17T00:59:16.2336615Z             },
2026-06-17T00:59:16.2336712Z             {
2026-06-17T00:59:16.2336854Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2336968Z               "line": 82
2026-06-17T00:59:16.2337070Z             },
2026-06-17T00:59:16.2337173Z             {
2026-06-17T00:59:16.2337322Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2337437Z               "line": 111
2026-06-17T00:59:16.2337536Z             },
2026-06-17T00:59:16.2337641Z             {
2026-06-17T00:59:16.2337785Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2337889Z               "line": 232
2026-06-17T00:59:16.2337995Z             },
2026-06-17T00:59:16.2338100Z             {
2026-06-17T00:59:16.2338241Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2338350Z               "line": 245
2026-06-17T00:59:16.2338449Z             },
2026-06-17T00:59:16.2338553Z             {
2026-06-17T00:59:16.2338677Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2338788Z               "line": 4382
2026-06-17T00:59:16.2338896Z             }
2026-06-17T00:59:16.2339088Z           ]
2026-06-17T00:59:16.2339192Z         },
2026-06-17T00:59:16.2339293Z         "int": {
2026-06-17T00:59:16.2339422Z           "complete": true,
2026-06-17T00:59:16.2339526Z           "evidence": [
2026-06-17T00:59:16.2339632Z             {
2026-06-17T00:59:16.2339779Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-17T00:59:16.2339888Z               "line": 98
2026-06-17T00:59:16.2339990Z             },
2026-06-17T00:59:16.2340093Z             {
2026-06-17T00:59:16.2340247Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-17T00:59:16.2340365Z               "line": 140
2026-06-17T00:59:16.2340562Z             }
2026-06-17T00:59:16.2340666Z           ]
2026-06-17T00:59:16.2340770Z         },
2026-06-17T00:59:16.2340874Z         "unit": {
2026-06-17T00:59:16.2340992Z           "complete": true,
2026-06-17T00:59:16.2341096Z           "evidence": [
2026-06-17T00:59:16.2341196Z             {
2026-06-17T00:59:16.2341349Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.2341467Z               "line": 178
2026-06-17T00:59:16.2341564Z             },
2026-06-17T00:59:16.2341669Z             {
2026-06-17T00:59:16.2341826Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.2342059Z               "line": 242
2026-06-17T00:59:16.2342160Z             },
2026-06-17T00:59:16.2342255Z             {
2026-06-17T00:59:16.2342403Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2342504Z               "line": 1079
2026-06-17T00:59:16.2342598Z             },
2026-06-17T00:59:16.2342703Z             {
2026-06-17T00:59:16.2342857Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2342960Z               "line": 1109
2026-06-17T00:59:16.2343065Z             },
2026-06-17T00:59:16.2343172Z             {
2026-06-17T00:59:16.2343318Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T00:59:16.2343438Z               "line": 1129
2026-06-17T00:59:16.2343543Z             },
2026-06-17T00:59:16.2343651Z             {
2026-06-17T00:59:16.2343808Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T00:59:16.2343909Z               "line": 602
2026-06-17T00:59:16.2344017Z             },
2026-06-17T00:59:16.2344123Z             {
2026-06-17T00:59:16.2344266Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2344371Z               "line": 148
2026-06-17T00:59:16.2344477Z             },
2026-06-17T00:59:16.2344581Z             {
2026-06-17T00:59:16.2344724Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2344839Z               "line": 169
2026-06-17T00:59:16.2344943Z             },
2026-06-17T00:59:16.2345049Z             {
2026-06-17T00:59:16.2345196Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2345315Z               "line": 181
2026-06-17T00:59:16.2345421Z             },
2026-06-17T00:59:16.2345525Z             {
2026-06-17T00:59:16.2345668Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T00:59:16.2345778Z               "line": 202
2026-06-17T00:59:16.2345881Z             },
2026-06-17T00:59:16.2345981Z             {
2026-06-17T00:59:16.2346133Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2346237Z               "line": 375
2026-06-17T00:59:16.2346337Z             },
2026-06-17T00:59:16.2346438Z             {
2026-06-17T00:59:16.2346575Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2346690Z               "line": 407
2026-06-17T00:59:16.2346795Z             },
2026-06-17T00:59:16.2346889Z             {
2026-06-17T00:59:16.2347029Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2347133Z               "line": 9276
2026-06-17T00:59:16.2347238Z             }
2026-06-17T00:59:16.2347339Z           ]
2026-06-17T00:59:16.2347444Z         }
2026-06-17T00:59:16.2347548Z       }
2026-06-17T00:59:16.2347649Z     },
2026-06-17T00:59:16.2347753Z     {
2026-06-17T00:59:16.2347858Z       "id": "REQ-MESH-5",
2026-06-17T00:59:16.2349408Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-17T00:59:16.2349543Z       "requiredStages": [
2026-06-17T00:59:16.2349752Z         "impl",
2026-06-17T00:59:16.2349858Z         "unit"
2026-06-17T00:59:16.2349957Z       ],
2026-06-17T00:59:16.2350057Z       "stages": {
2026-06-17T00:59:16.2350158Z         "doc": {
2026-06-17T00:59:16.2350277Z           "complete": false,
2026-06-17T00:59:16.2350391Z           "evidence": []
2026-06-17T00:59:16.2350492Z         },
2026-06-17T00:59:16.2350601Z         "impl": {
2026-06-17T00:59:16.2350715Z           "complete": true,
2026-06-17T00:59:16.2350826Z           "evidence": [
2026-06-17T00:59:16.2350930Z             {
2026-06-17T00:59:16.2351088Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2351306Z               "line": 61
2026-06-17T00:59:16.2351410Z             },
2026-06-17T00:59:16.2351520Z             {
2026-06-17T00:59:16.2351661Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2351780Z               "line": 109
2026-06-17T00:59:16.2351882Z             },
2026-06-17T00:59:16.2351985Z             {
2026-06-17T00:59:16.2352139Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2352243Z               "line": 104
2026-06-17T00:59:16.2352357Z             },
2026-06-17T00:59:16.2352454Z             {
2026-06-17T00:59:16.2352600Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.2352706Z               "line": 105
2026-06-17T00:59:16.2352810Z             },
2026-06-17T00:59:16.2352910Z             {
2026-06-17T00:59:16.2353064Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2353163Z               "line": 85
2026-06-17T00:59:16.2353268Z             },
2026-06-17T00:59:16.2353379Z             {
2026-06-17T00:59:16.2353525Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2353640Z               "line": 250
2026-06-17T00:59:16.2353746Z             },
2026-06-17T00:59:16.2353840Z             {
2026-06-17T00:59:16.2353989Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2354098Z               "line": 314
2026-06-17T00:59:16.2354197Z             },
2026-06-17T00:59:16.2354297Z             {
2026-06-17T00:59:16.2354446Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2354554Z               "line": 715
2026-06-17T00:59:16.2354655Z             },
2026-06-17T00:59:16.2357346Z             {
2026-06-17T00:59:16.2357537Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2357655Z               "line": 101
2026-06-17T00:59:16.2357759Z             },
2026-06-17T00:59:16.2357861Z             {
2026-06-17T00:59:16.2358027Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2358141Z               "line": 193
2026-06-17T00:59:16.2358238Z             }
2026-06-17T00:59:16.2358328Z           ]
2026-06-17T00:59:16.2358427Z         },
2026-06-17T00:59:16.2358533Z         "int": {
2026-06-17T00:59:16.2358656Z           "complete": false,
2026-06-17T00:59:16.2358771Z           "evidence": []
2026-06-17T00:59:16.2358862Z         },
2026-06-17T00:59:16.2359052Z         "unit": {
2026-06-17T00:59:16.2359168Z           "complete": true,
2026-06-17T00:59:16.2359286Z           "evidence": [
2026-06-17T00:59:16.2359394Z             {
2026-06-17T00:59:16.2359565Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2359668Z               "line": 957
2026-06-17T00:59:16.2359769Z             },
2026-06-17T00:59:16.2359874Z             {
2026-06-17T00:59:16.2360021Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T00:59:16.2360132Z               "line": 462
2026-06-17T00:59:16.2360242Z             }
2026-06-17T00:59:16.2360345Z           ]
2026-06-17T00:59:16.2360447Z         }
2026-06-17T00:59:16.2360547Z       }
2026-06-17T00:59:16.2360650Z     },
2026-06-17T00:59:16.2360752Z     {
2026-06-17T00:59:16.2360870Z       "id": "REQ-MESH-6",
2026-06-17T00:59:16.2362183Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-17T00:59:16.2362456Z       "requiredStages": [
2026-06-17T00:59:16.2362559Z         "impl",
2026-06-17T00:59:16.2362660Z         "unit"
2026-06-17T00:59:16.2362760Z       ],
2026-06-17T00:59:16.2362869Z       "stages": {
2026-06-17T00:59:16.2362975Z         "doc": {
2026-06-17T00:59:16.2363193Z           "complete": false,
2026-06-17T00:59:16.2363295Z           "evidence": []
2026-06-17T00:59:16.2363389Z         },
2026-06-17T00:59:16.2363494Z         "impl": {
2026-06-17T00:59:16.2363609Z           "complete": true,
2026-06-17T00:59:16.2363714Z           "evidence": [
2026-06-17T00:59:16.2363818Z             {
2026-06-17T00:59:16.2363944Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2364052Z               "line": 3905
2026-06-17T00:59:16.2364152Z             }
2026-06-17T00:59:16.2364253Z           ]
2026-06-17T00:59:16.2364353Z         },
2026-06-17T00:59:16.2364457Z         "int": {
2026-06-17T00:59:16.2364573Z           "complete": false,
2026-06-17T00:59:16.2364686Z           "evidence": []
2026-06-17T00:59:16.2364790Z         },
2026-06-17T00:59:16.2364890Z         "unit": {
2026-06-17T00:59:16.2364997Z           "complete": true,
2026-06-17T00:59:16.2365095Z           "evidence": [
2026-06-17T00:59:16.2365196Z             {
2026-06-17T00:59:16.2365320Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2365439Z               "line": 9809
2026-06-17T00:59:16.2365535Z             },
2026-06-17T00:59:16.2365635Z             {
2026-06-17T00:59:16.2365758Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2365859Z               "line": 9836
2026-06-17T00:59:16.2365959Z             },
2026-06-17T00:59:16.2366063Z             {
2026-06-17T00:59:16.2366193Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2366302Z               "line": 9860
2026-06-17T00:59:16.2366402Z             }
2026-06-17T00:59:16.2366503Z           ]
2026-06-17T00:59:16.2366612Z         }
2026-06-17T00:59:16.2366712Z       }
2026-06-17T00:59:16.2366813Z     },
2026-06-17T00:59:16.2366917Z     {
2026-06-17T00:59:16.2367030Z       "id": "REQ-MIGRATE-1",
2026-06-17T00:59:16.2367244Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-17T00:59:16.2367352Z       "requiredStages": [],
2026-06-17T00:59:16.2367457Z       "stages": {
2026-06-17T00:59:16.2367558Z         "doc": {
2026-06-17T00:59:16.2367662Z           "complete": false,
2026-06-17T00:59:16.2367777Z           "evidence": []
2026-06-17T00:59:16.2367877Z         },
2026-06-17T00:59:16.2367982Z         "impl": {
2026-06-17T00:59:16.2368087Z           "complete": false,
2026-06-17T00:59:16.2368202Z           "evidence": []
2026-06-17T00:59:16.2368306Z         },
2026-06-17T00:59:16.2368412Z         "int": {
2026-06-17T00:59:16.2368531Z           "complete": false,
2026-06-17T00:59:16.2368625Z           "evidence": []
2026-06-17T00:59:16.2368726Z         },
2026-06-17T00:59:16.2368830Z         "unit": {
2026-06-17T00:59:16.2369026Z           "complete": false,
2026-06-17T00:59:16.2369131Z           "evidence": []
2026-06-17T00:59:16.2369226Z         }
2026-06-17T00:59:16.2369336Z       }
2026-06-17T00:59:16.2369437Z     },
2026-06-17T00:59:16.2369540Z     {
2026-06-17T00:59:16.2369642Z       "id": "REQ-MSG-1",
2026-06-17T00:59:16.2370134Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-17T00:59:16.2370262Z       "requiredStages": [
2026-06-17T00:59:16.2370367Z         "impl",
2026-06-17T00:59:16.2370468Z         "unit",
2026-06-17T00:59:16.2370572Z         "int"
2026-06-17T00:59:16.2370673Z       ],
2026-06-17T00:59:16.2370867Z       "stages": {
2026-06-17T00:59:16.2370974Z         "doc": {
2026-06-17T00:59:16.2371092Z           "complete": false,
2026-06-17T00:59:16.2371196Z           "evidence": []
2026-06-17T00:59:16.2371298Z         },
2026-06-17T00:59:16.2371397Z         "impl": {
2026-06-17T00:59:16.2371511Z           "complete": true,
2026-06-17T00:59:16.2371618Z           "evidence": [
2026-06-17T00:59:16.2371722Z             {
2026-06-17T00:59:16.2371869Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2371975Z               "line": 28
2026-06-17T00:59:16.2372083Z             },
2026-06-17T00:59:16.2372169Z             {
2026-06-17T00:59:16.2372407Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2372516Z               "line": 94
2026-06-17T00:59:16.2372617Z             },
2026-06-17T00:59:16.2372720Z             {
2026-06-17T00:59:16.2372852Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2372963Z               "line": 127
2026-06-17T00:59:16.2373067Z             },
2026-06-17T00:59:16.2373172Z             {
2026-06-17T00:59:16.2373297Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2373406Z               "line": 149
2026-06-17T00:59:16.2373511Z             },
2026-06-17T00:59:16.2373621Z             {
2026-06-17T00:59:16.2373758Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2373860Z               "line": 174
2026-06-17T00:59:16.2373964Z             },
2026-06-17T00:59:16.2374063Z             {
2026-06-17T00:59:16.2374213Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2374317Z               "line": 18
2026-06-17T00:59:16.2374417Z             },
2026-06-17T00:59:16.2374518Z             {
2026-06-17T00:59:16.2374640Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.2374751Z               "line": 13
2026-06-17T00:59:16.2374833Z             },
2026-06-17T00:59:16.2374941Z             {
2026-06-17T00:59:16.2375080Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.2375191Z               "line": 62
2026-06-17T00:59:16.2375293Z             },
2026-06-17T00:59:16.2375397Z             {
2026-06-17T00:59:16.2375532Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2375641Z               "line": 13
2026-06-17T00:59:16.2375746Z             }
2026-06-17T00:59:16.2375847Z           ]
2026-06-17T00:59:16.2375946Z         },
2026-06-17T00:59:16.2376061Z         "int": {
2026-06-17T00:59:16.2376175Z           "complete": true,
2026-06-17T00:59:16.2376284Z           "evidence": [
2026-06-17T00:59:16.2376385Z             {
2026-06-17T00:59:16.2376552Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T00:59:16.2376666Z               "line": 9
2026-06-17T00:59:16.2376768Z             },
2026-06-17T00:59:16.2376867Z             {
2026-06-17T00:59:16.2377030Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T00:59:16.2377148Z               "line": 56
2026-06-17T00:59:16.2377253Z             },
2026-06-17T00:59:16.2377359Z             {
2026-06-17T00:59:16.2377515Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T00:59:16.2377619Z               "line": 113
2026-06-17T00:59:16.2377724Z             }
2026-06-17T00:59:16.2377822Z           ]
2026-06-17T00:59:16.2377921Z         },
2026-06-17T00:59:16.2378017Z         "unit": {
2026-06-17T00:59:16.2378133Z           "complete": true,
2026-06-17T00:59:16.2378241Z           "evidence": [
2026-06-17T00:59:16.2378347Z             {
2026-06-17T00:59:16.2378489Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2378603Z               "line": 203
2026-06-17T00:59:16.2378704Z             },
2026-06-17T00:59:16.2378804Z             {
2026-06-17T00:59:16.2379033Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2379142Z               "line": 232
2026-06-17T00:59:16.2379238Z             },
2026-06-17T00:59:16.2379343Z             {
2026-06-17T00:59:16.2379640Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2379743Z               "line": 277
2026-06-17T00:59:16.2379848Z             },
2026-06-17T00:59:16.2379945Z             {
2026-06-17T00:59:16.2380086Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2380187Z               "line": 300
2026-06-17T00:59:16.2380284Z             },
2026-06-17T00:59:16.2380387Z             {
2026-06-17T00:59:16.2380534Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T00:59:16.2380643Z               "line": 325
2026-06-17T00:59:16.2380746Z             },
2026-06-17T00:59:16.2380971Z             {
2026-06-17T00:59:16.2381113Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2381229Z               "line": 204
2026-06-17T00:59:16.2381328Z             },
2026-06-17T00:59:16.2381432Z             {
2026-06-17T00:59:16.2381576Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2381681Z               "line": 237
2026-06-17T00:59:16.2381790Z             },
2026-06-17T00:59:16.2381891Z             {
2026-06-17T00:59:16.2382029Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2382129Z               "line": 251
2026-06-17T00:59:16.2382234Z             },
2026-06-17T00:59:16.2382333Z             {
2026-06-17T00:59:16.2382473Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2382592Z               "line": 263
2026-06-17T00:59:16.2382692Z             },
2026-06-17T00:59:16.2382798Z             {
2026-06-17T00:59:16.2382930Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.2383043Z               "line": 162
2026-06-17T00:59:16.2383148Z             },
2026-06-17T00:59:16.2383243Z             {
2026-06-17T00:59:16.2383374Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T00:59:16.2383480Z               "line": 242
2026-06-17T00:59:16.2383581Z             },
2026-06-17T00:59:16.2383679Z             {
2026-06-17T00:59:16.2383814Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2383924Z               "line": 134
2026-06-17T00:59:16.2384023Z             },
2026-06-17T00:59:16.2384129Z             {
2026-06-17T00:59:16.2384248Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2384357Z               "line": 153
2026-06-17T00:59:16.2384453Z             }
2026-06-17T00:59:16.2384557Z           ]
2026-06-17T00:59:16.2384657Z         }
2026-06-17T00:59:16.2384759Z       }
2026-06-17T00:59:16.2384858Z     },
2026-06-17T00:59:16.2384957Z     {
2026-06-17T00:59:16.2385068Z       "id": "REQ-MSG-2",
2026-06-17T00:59:16.2385374Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-17T00:59:16.2385483Z       "requiredStages": [
2026-06-17T00:59:16.2385582Z         "impl",
2026-06-17T00:59:16.2385684Z         "unit"
2026-06-17T00:59:16.2385784Z       ],
2026-06-17T00:59:16.2385882Z       "stages": {
2026-06-17T00:59:16.2385982Z         "doc": {
2026-06-17T00:59:16.2386102Z           "complete": false,
2026-06-17T00:59:16.2386215Z           "evidence": []
2026-06-17T00:59:16.2386311Z         },
2026-06-17T00:59:16.2386412Z         "impl": {
2026-06-17T00:59:16.2386530Z           "complete": true,
2026-06-17T00:59:16.2386631Z           "evidence": [
2026-06-17T00:59:16.2386736Z             {
2026-06-17T00:59:16.2386859Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2386970Z               "line": 11
2026-06-17T00:59:16.2387074Z             },
2026-06-17T00:59:16.2387173Z             {
2026-06-17T00:59:16.2387309Z               "path": "crates/spt/src/main.rs",
2026-06-17T00:59:16.2387412Z               "line": 8
2026-06-17T00:59:16.2387512Z             }
2026-06-17T00:59:16.2387614Z           ]
2026-06-17T00:59:16.2387718Z         },
2026-06-17T00:59:16.2387822Z         "int": {
2026-06-17T00:59:16.2387924Z           "complete": false,
2026-06-17T00:59:16.2388023Z           "evidence": []
2026-06-17T00:59:16.2388127Z         },
2026-06-17T00:59:16.2388313Z         "unit": {
2026-06-17T00:59:16.2388415Z           "complete": true,
2026-06-17T00:59:16.2388519Z           "evidence": [
2026-06-17T00:59:16.2388616Z             {
2026-06-17T00:59:16.2388744Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2388859Z               "line": 7048
2026-06-17T00:59:16.2389045Z             },
2026-06-17T00:59:16.2389144Z             {
2026-06-17T00:59:16.2389269Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2389392Z               "line": 7090
2026-06-17T00:59:16.2389498Z             },
2026-06-17T00:59:16.2389603Z             {
2026-06-17T00:59:16.2389827Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2389932Z               "line": 7139
2026-06-17T00:59:16.2390027Z             },
2026-06-17T00:59:16.2390127Z             {
2026-06-17T00:59:16.2390251Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2390356Z               "line": 7162
2026-06-17T00:59:16.2390457Z             },
2026-06-17T00:59:16.2390557Z             {
2026-06-17T00:59:16.2390675Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2390777Z               "line": 9031
2026-06-17T00:59:16.2390877Z             },
2026-06-17T00:59:16.2390966Z             {
2026-06-17T00:59:16.2391094Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2391203Z               "line": 9040
2026-06-17T00:59:16.2391306Z             },
2026-06-17T00:59:16.2391401Z             {
2026-06-17T00:59:16.2391531Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2391640Z               "line": 9054
2026-06-17T00:59:16.2391735Z             }
2026-06-17T00:59:16.2391846Z           ]
2026-06-17T00:59:16.2391945Z         }
2026-06-17T00:59:16.2392045Z       }
2026-06-17T00:59:16.2392141Z     },
2026-06-17T00:59:16.2392246Z     {
2026-06-17T00:59:16.2392345Z       "id": "REQ-MSG-3",
2026-06-17T00:59:16.2392766Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-17T00:59:16.2392880Z       "requiredStages": [
2026-06-17T00:59:16.2392975Z         "impl",
2026-06-17T00:59:16.2393077Z         "unit",
2026-06-17T00:59:16.2393175Z         "int"
2026-06-17T00:59:16.2393276Z       ],
2026-06-17T00:59:16.2393377Z       "stages": {
2026-06-17T00:59:16.2393476Z         "doc": {
2026-06-17T00:59:16.2393584Z           "complete": false,
2026-06-17T00:59:16.2393684Z           "evidence": []
2026-06-17T00:59:16.2393789Z         },
2026-06-17T00:59:16.2393887Z         "impl": {
2026-06-17T00:59:16.2394002Z           "complete": true,
2026-06-17T00:59:16.2394112Z           "evidence": [
2026-06-17T00:59:16.2394216Z             {
2026-06-17T00:59:16.2394365Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T00:59:16.2394470Z               "line": 19
2026-06-17T00:59:16.2394568Z             },
2026-06-17T00:59:16.2394670Z             {
2026-06-17T00:59:16.2394818Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2394922Z               "line": 21
2026-06-17T00:59:16.2395023Z             },
2026-06-17T00:59:16.2395127Z             {
2026-06-17T00:59:16.2395261Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2395371Z               "line": 48
2026-06-17T00:59:16.2395466Z             },
2026-06-17T00:59:16.2395571Z             {
2026-06-17T00:59:16.2395718Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2395837Z               "line": 151
2026-06-17T00:59:16.2395939Z             }
2026-06-17T00:59:16.2396038Z           ]
2026-06-17T00:59:16.2396148Z         },
2026-06-17T00:59:16.2396239Z         "int": {
2026-06-17T00:59:16.2396362Z           "complete": true,
2026-06-17T00:59:16.2396471Z           "evidence": [
2026-06-17T00:59:16.2396571Z             {
2026-06-17T00:59:16.2396738Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T00:59:16.2396847Z               "line": 10
2026-06-17T00:59:16.2397053Z             },
2026-06-17T00:59:16.2397152Z             {
2026-06-17T00:59:16.2397319Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T00:59:16.2397428Z               "line": 56
2026-06-17T00:59:16.2397530Z             }
2026-06-17T00:59:16.2397634Z           ]
2026-06-17T00:59:16.2397739Z         },
2026-06-17T00:59:16.2397840Z         "unit": {
2026-06-17T00:59:16.2397945Z           "complete": true,
2026-06-17T00:59:16.2398058Z           "evidence": [
2026-06-17T00:59:16.2398160Z             {
2026-06-17T00:59:16.2398292Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2398474Z               "line": 205
2026-06-17T00:59:16.2398579Z             },
2026-06-17T00:59:16.2398682Z             {
2026-06-17T00:59:16.2398815Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2398924Z               "line": 224
2026-06-17T00:59:16.2399109Z             },
2026-06-17T00:59:16.2399205Z             {
2026-06-17T00:59:16.2399342Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T00:59:16.2399448Z               "line": 247
2026-06-17T00:59:16.2399553Z             }
2026-06-17T00:59:16.2399647Z           ]
2026-06-17T00:59:16.2399748Z         }
2026-06-17T00:59:16.2399867Z       }
2026-06-17T00:59:16.2399971Z     },
2026-06-17T00:59:16.2400078Z     {
2026-06-17T00:59:16.2400177Z       "id": "REQ-MSG-4",
2026-06-17T00:59:16.2401065Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-17T00:59:16.2401187Z       "requiredStages": [
2026-06-17T00:59:16.2401288Z         "impl",
2026-06-17T00:59:16.2401394Z         "unit",
2026-06-17T00:59:16.2401497Z         "int"
2026-06-17T00:59:16.2401601Z       ],
2026-06-17T00:59:16.2401707Z       "stages": {
2026-06-17T00:59:16.2401810Z         "doc": {
2026-06-17T00:59:16.2401933Z           "complete": false,
2026-06-17T00:59:16.2402038Z           "evidence": []
2026-06-17T00:59:16.2402139Z         },
2026-06-17T00:59:16.2402233Z         "impl": {
2026-06-17T00:59:16.2402354Z           "complete": true,
2026-06-17T00:59:16.2402458Z           "evidence": [
2026-06-17T00:59:16.2402562Z             {
2026-06-17T00:59:16.2402702Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2402811Z               "line": 19
2026-06-17T00:59:16.2402910Z             },
2026-06-17T00:59:16.2403012Z             {
2026-06-17T00:59:16.2403149Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2403259Z               "line": 46
2026-06-17T00:59:16.2403364Z             },
2026-06-17T00:59:16.2403468Z             {
2026-06-17T00:59:16.2403613Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2403726Z               "line": 407
2026-06-17T00:59:16.2403831Z             },
2026-06-17T00:59:16.2403932Z             {
2026-06-17T00:59:16.2404060Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2404163Z               "line": 2855
2026-06-17T00:59:16.2404269Z             }
2026-06-17T00:59:16.2404372Z           ]
2026-06-17T00:59:16.2404480Z         },
2026-06-17T00:59:16.2404586Z         "int": {
2026-06-17T00:59:16.2404701Z           "complete": true,
2026-06-17T00:59:16.2404809Z           "evidence": [
2026-06-17T00:59:16.2404915Z             {
2026-06-17T00:59:16.2405063Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T00:59:16.2405172Z               "line": 98
2026-06-17T00:59:16.2405268Z             },
2026-06-17T00:59:16.2405368Z             {
2026-06-17T00:59:16.2405511Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T00:59:16.2405611Z               "line": 128
2026-06-17T00:59:16.2405716Z             }
2026-06-17T00:59:16.2405816Z           ]
2026-06-17T00:59:16.2405921Z         },
2026-06-17T00:59:16.2406031Z         "unit": {
2026-06-17T00:59:16.2406136Z           "complete": true,
2026-06-17T00:59:16.2406355Z           "evidence": [
2026-06-17T00:59:16.2406460Z             {
2026-06-17T00:59:16.2406593Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2406698Z               "line": 68
2026-06-17T00:59:16.2406804Z             },
2026-06-17T00:59:16.2406904Z             {
2026-06-17T00:59:16.2407040Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2407150Z               "line": 79
2026-06-17T00:59:16.2407251Z             },
2026-06-17T00:59:16.2407354Z             {
2026-06-17T00:59:16.2407489Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2407693Z               "line": 90
2026-06-17T00:59:16.2407799Z             },
2026-06-17T00:59:16.2407899Z             {
2026-06-17T00:59:16.2408042Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2408147Z               "line": 151
2026-06-17T00:59:16.2408247Z             }
2026-06-17T00:59:16.2408347Z           ]
2026-06-17T00:59:16.2408448Z         }
2026-06-17T00:59:16.2408561Z       }
2026-06-17T00:59:16.2408661Z     },
2026-06-17T00:59:16.2408763Z     {
2026-06-17T00:59:16.2408866Z       "id": "REQ-MSG-5",
2026-06-17T00:59:16.2409712Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-17T00:59:16.2409832Z       "requiredStages": [
2026-06-17T00:59:16.2409931Z         "doc",
2026-06-17T00:59:16.2410036Z         "impl",
2026-06-17T00:59:16.2410137Z         "unit"
2026-06-17T00:59:16.2410236Z       ],
2026-06-17T00:59:16.2410342Z       "stages": {
2026-06-17T00:59:16.2410442Z         "doc": {
2026-06-17T00:59:16.2410570Z           "complete": true,
2026-06-17T00:59:16.2410666Z           "evidence": [
2026-06-17T00:59:16.2410771Z             {
2026-06-17T00:59:16.2410889Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2411005Z               "line": 219
2026-06-17T00:59:16.2411104Z             }
2026-06-17T00:59:16.2411204Z           ]
2026-06-17T00:59:16.2411310Z         },
2026-06-17T00:59:16.2411409Z         "impl": {
2026-06-17T00:59:16.2411528Z           "complete": true,
2026-06-17T00:59:16.2411620Z           "evidence": [
2026-06-17T00:59:16.2411720Z             {
2026-06-17T00:59:16.2411853Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.2411959Z               "line": 60
2026-06-17T00:59:16.2412058Z             },
2026-06-17T00:59:16.2412162Z             {
2026-06-17T00:59:16.2412310Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2412417Z               "line": 126
2026-06-17T00:59:16.2412512Z             },
2026-06-17T00:59:16.2412618Z             {
2026-06-17T00:59:16.2412760Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2412875Z               "line": 135
2026-06-17T00:59:16.2412975Z             },
2026-06-17T00:59:16.2413079Z             {
2026-06-17T00:59:16.2413224Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2413333Z               "line": 149
2026-06-17T00:59:16.2413437Z             },
2026-06-17T00:59:16.2413538Z             {
2026-06-17T00:59:16.2413676Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2413781Z               "line": 178
2026-06-17T00:59:16.2413887Z             },
2026-06-17T00:59:16.2413990Z             {
2026-06-17T00:59:16.2414124Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2414239Z               "line": 2601
2026-06-17T00:59:16.2414338Z             }
2026-06-17T00:59:16.2414439Z           ]
2026-06-17T00:59:16.2414545Z         },
2026-06-17T00:59:16.2414648Z         "int": {
2026-06-17T00:59:16.2414752Z           "complete": true,
2026-06-17T00:59:16.2414862Z           "evidence": [
2026-06-17T00:59:16.2414965Z             {
2026-06-17T00:59:16.2415108Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-17T00:59:16.2415327Z               "line": 19
2026-06-17T00:59:16.2415427Z             }
2026-06-17T00:59:16.2415533Z           ]
2026-06-17T00:59:16.2415627Z         },
2026-06-17T00:59:16.2415742Z         "unit": {
2026-06-17T00:59:16.2415857Z           "complete": true,
2026-06-17T00:59:16.2415956Z           "evidence": [
2026-06-17T00:59:16.2416057Z             {
2026-06-17T00:59:16.2416200Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.2416314Z               "line": 192
2026-06-17T00:59:16.2416420Z             },
2026-06-17T00:59:16.2416524Z             {
2026-06-17T00:59:16.2416768Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T00:59:16.2416867Z               "line": 154
2026-06-17T00:59:16.2416967Z             },
2026-06-17T00:59:16.2417069Z             {
2026-06-17T00:59:16.2417210Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2417311Z               "line": 122
2026-06-17T00:59:16.2417412Z             },
2026-06-17T00:59:16.2417520Z             {
2026-06-17T00:59:16.2417658Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2417759Z               "line": 452
2026-06-17T00:59:16.2417863Z             },
2026-06-17T00:59:16.2417968Z             {
2026-06-17T00:59:16.2418097Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2418206Z               "line": 501
2026-06-17T00:59:16.2418301Z             },
2026-06-17T00:59:16.2418402Z             {
2026-06-17T00:59:16.2418545Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2418645Z               "line": 517
2026-06-17T00:59:16.2418745Z             },
2026-06-17T00:59:16.2418845Z             {
2026-06-17T00:59:16.2419051Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2419165Z               "line": 536
2026-06-17T00:59:16.2419265Z             },
2026-06-17T00:59:16.2419370Z             {
2026-06-17T00:59:16.2419494Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2419609Z               "line": 6991
2026-06-17T00:59:16.2419714Z             }
2026-06-17T00:59:16.2419817Z           ]
2026-06-17T00:59:16.2419922Z         }
2026-06-17T00:59:16.2420021Z       }
2026-06-17T00:59:16.2420129Z     },
2026-06-17T00:59:16.2420224Z     {
2026-06-17T00:59:16.2420330Z       "id": "REQ-MSG-6",
2026-06-17T00:59:16.2421993Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-17T00:59:16.2422123Z       "requiredStages": [
2026-06-17T00:59:16.2422223Z         "doc",
2026-06-17T00:59:16.2422322Z         "impl",
2026-06-17T00:59:16.2422428Z         "unit"
2026-06-17T00:59:16.2422534Z       ],
2026-06-17T00:59:16.2422641Z       "stages": {
2026-06-17T00:59:16.2422741Z         "doc": {
2026-06-17T00:59:16.2422841Z           "complete": true,
2026-06-17T00:59:16.2422959Z           "evidence": [
2026-06-17T00:59:16.2423063Z             {
2026-06-17T00:59:16.2423188Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2423292Z               "line": 222
2026-06-17T00:59:16.2423396Z             }
2026-06-17T00:59:16.2423503Z           ]
2026-06-17T00:59:16.2423593Z         },
2026-06-17T00:59:16.2423702Z         "impl": {
2026-06-17T00:59:16.2423817Z           "complete": true,
2026-06-17T00:59:16.2423922Z           "evidence": [
2026-06-17T00:59:16.2424021Z             {
2026-06-17T00:59:16.2424184Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2424293Z               "line": 177
2026-06-17T00:59:16.2424394Z             },
2026-06-17T00:59:16.2424494Z             {
2026-06-17T00:59:16.2424757Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2424869Z               "line": 422
2026-06-17T00:59:16.2424970Z             },
2026-06-17T00:59:16.2425072Z             {
2026-06-17T00:59:16.2425222Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2425331Z               "line": 445
2026-06-17T00:59:16.2425437Z             },
2026-06-17T00:59:16.2425529Z             {
2026-06-17T00:59:16.2425673Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.2425778Z               "line": 89
2026-06-17T00:59:16.2425978Z             },
2026-06-17T00:59:16.2426078Z             {
2026-06-17T00:59:16.2426230Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2426341Z               "line": 155
2026-06-17T00:59:16.2426441Z             }
2026-06-17T00:59:16.2426550Z           ]
2026-06-17T00:59:16.2426651Z         },
2026-06-17T00:59:16.2426750Z         "int": {
2026-06-17T00:59:16.2426869Z           "complete": false,
2026-06-17T00:59:16.2426985Z           "evidence": []
2026-06-17T00:59:16.2427084Z         },
2026-06-17T00:59:16.2427189Z         "unit": {
2026-06-17T00:59:16.2427305Z           "complete": true,
2026-06-17T00:59:16.2427408Z           "evidence": [
2026-06-17T00:59:16.2427513Z             {
2026-06-17T00:59:16.2427662Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2427770Z               "line": 1639
2026-06-17T00:59:16.2427881Z             },
2026-06-17T00:59:16.2427986Z             {
2026-06-17T00:59:16.2428128Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.2428251Z               "line": 219
2026-06-17T00:59:16.2428352Z             }
2026-06-17T00:59:16.2428456Z           ]
2026-06-17T00:59:16.2428551Z         }
2026-06-17T00:59:16.2428657Z       }
2026-06-17T00:59:16.2428752Z     },
2026-06-17T00:59:16.2428852Z     {
2026-06-17T00:59:16.2429067Z       "id": "REQ-MSG-ENVELOPE",
2026-06-17T00:59:16.2432812Z       "title": "The <EVENT type=\"msg\" from=…>body</EVENT> envelope (spt-proto::event, the ADR-0001 grammar) is the SOLE canonical arriving-message format at EVERY harness arriving-message surface on an AGENT perch — api listen AND api poll/worker-poll, byte-identical (reverses REQ-MSG-4's 'hook drains keep the raw frame by contract'). SCOPE CARVE-OUT: the shell-command relay (api poll <shell-id> --link, cmd_poll_shell) is a distinct internal transport carrying RAW MAC'd stamped frames the shell child consumes verbatim — NOT an arriving-message surface, deliberately EXEMPT from <EVENT> composition (notify_shell_e2e guards this boundary). __REPLY_TO__ — mis-elevated during the clean-room port to a fake ADR-0001 'stable wire format' (spt-msg/wire.rs, lib.rs) — is REMOVED entirely (spool format_row, the spt-msg TCP frame, emit parse_frame); (from, body) carried structurally, <EVENT> composed once at the delivery boundary. No legacy sister-interop (spt-core never required it). Reply-correlation rebinds onto the structural from / <EVENT from=…> attribute (ADR-0009 access-gate + ADR-0012 Psyche/spt-live reply-target). Self-delimiting by construction → finding F-002 (non-self-delimiting multi-message poll) dissolves. ADR-0020.",
2026-06-17T00:59:16.2432978Z       "requiredStages": [
2026-06-17T00:59:16.2433079Z         "doc",
2026-06-17T00:59:16.2433188Z         "impl",
2026-06-17T00:59:16.2433287Z         "unit",
2026-06-17T00:59:16.2433387Z         "int"
2026-06-17T00:59:16.2433491Z       ],
2026-06-17T00:59:16.2433599Z       "stages": {
2026-06-17T00:59:16.2433700Z         "doc": {
2026-06-17T00:59:16.2433815Z           "complete": true,
2026-06-17T00:59:16.2433937Z           "evidence": [
2026-06-17T00:59:16.2434039Z             {
2026-06-17T00:59:16.2434300Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-17T00:59:16.2434406Z               "line": 47
2026-06-17T00:59:16.2434510Z             }
2026-06-17T00:59:16.2434610Z           ]
2026-06-17T00:59:16.2434830Z         },
2026-06-17T00:59:16.2434939Z         "impl": {
2026-06-17T00:59:16.2435040Z           "complete": true,
2026-06-17T00:59:16.2435154Z           "evidence": [
2026-06-17T00:59:16.2435254Z             {
2026-06-17T00:59:16.2435397Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2435511Z               "line": 20
2026-06-17T00:59:16.2435613Z             },
2026-06-17T00:59:16.2435717Z             {
2026-06-17T00:59:16.2435840Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2435944Z               "line": 33
2026-06-17T00:59:16.2436048Z             },
2026-06-17T00:59:16.2436256Z             {
2026-06-17T00:59:16.2436405Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2436509Z               "line": 47
2026-06-17T00:59:16.2436615Z             },
2026-06-17T00:59:16.2436715Z             {
2026-06-17T00:59:16.2436847Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2436958Z               "line": 58
2026-06-17T00:59:16.2437058Z             },
2026-06-17T00:59:16.2437162Z             {
2026-06-17T00:59:16.2437282Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2437382Z               "line": 14
2026-06-17T00:59:16.2437477Z             },
2026-06-17T00:59:16.2437583Z             {
2026-06-17T00:59:16.2437716Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2437816Z               "line": 27
2026-06-17T00:59:16.2437917Z             },
2026-06-17T00:59:16.2438016Z             {
2026-06-17T00:59:16.2438151Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2438250Z               "line": 40
2026-06-17T00:59:16.2438355Z             },
2026-06-17T00:59:16.2438461Z             {
2026-06-17T00:59:16.2438602Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.2438711Z               "line": 92
2026-06-17T00:59:16.2438816Z             },
2026-06-17T00:59:16.2438922Z             {
2026-06-17T00:59:16.2439160Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2439279Z               "line": 143
2026-06-17T00:59:16.2439397Z             },
2026-06-17T00:59:16.2439499Z             {
2026-06-17T00:59:16.2439645Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2439751Z               "line": 216
2026-06-17T00:59:16.2439856Z             },
2026-06-17T00:59:16.2439956Z             {
2026-06-17T00:59:16.2440095Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2440194Z               "line": 408
2026-06-17T00:59:16.2442880Z             },
2026-06-17T00:59:16.2443014Z             {
2026-06-17T00:59:16.2443185Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T00:59:16.2443306Z               "line": 78
2026-06-17T00:59:16.2443409Z             },
2026-06-17T00:59:16.2443510Z             {
2026-06-17T00:59:16.2443654Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2443762Z               "line": 2856
2026-06-17T00:59:16.2443861Z             }
2026-06-17T00:59:16.2443957Z           ]
2026-06-17T00:59:16.2444065Z         },
2026-06-17T00:59:16.2444168Z         "int": {
2026-06-17T00:59:16.2444288Z           "complete": true,
2026-06-17T00:59:16.2444394Z           "evidence": [
2026-06-17T00:59:16.2444497Z             {
2026-06-17T00:59:16.2444661Z               "path": "crates/spt/tests/poll_envelope_e2e.rs",
2026-06-17T00:59:16.2444765Z               "line": 15
2026-06-17T00:59:16.2444870Z             }
2026-06-17T00:59:16.2444971Z           ]
2026-06-17T00:59:16.2445070Z         },
2026-06-17T00:59:16.2445180Z         "unit": {
2026-06-17T00:59:16.2445300Z           "complete": true,
2026-06-17T00:59:16.2445404Z           "evidence": [
2026-06-17T00:59:16.2445509Z             {
2026-06-17T00:59:16.2445652Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2445761Z               "line": 102
2026-06-17T00:59:16.2445858Z             },
2026-06-17T00:59:16.2445967Z             {
2026-06-17T00:59:16.2446095Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T00:59:16.2446347Z               "line": 137
2026-06-17T00:59:16.2446451Z             },
2026-06-17T00:59:16.2446557Z             {
2026-06-17T00:59:16.2446688Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2446803Z               "line": 98
2026-06-17T00:59:16.2446903Z             },
2026-06-17T00:59:16.2446998Z             {
2026-06-17T00:59:16.2447127Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2447227Z               "line": 106
2026-06-17T00:59:16.2447331Z             },
2026-06-17T00:59:16.2447437Z             {
2026-06-17T00:59:16.2447670Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2447776Z               "line": 113
2026-06-17T00:59:16.2447866Z             },
2026-06-17T00:59:16.2447970Z             {
2026-06-17T00:59:16.2448095Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T00:59:16.2448213Z               "line": 122
2026-06-17T00:59:16.2448314Z             }
2026-06-17T00:59:16.2448410Z           ]
2026-06-17T00:59:16.2448514Z         }
2026-06-17T00:59:16.2448619Z       }
2026-06-17T00:59:16.2448721Z     },
2026-06-17T00:59:16.2448820Z     {
2026-06-17T00:59:16.2448938Z       "id": "REQ-NET-1",
2026-06-17T00:59:16.2449224Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-17T00:59:16.2449348Z       "requiredStages": [
2026-06-17T00:59:16.2449458Z         "impl",
2026-06-17T00:59:16.2449562Z         "unit",
2026-06-17T00:59:16.2449662Z         "int"
2026-06-17T00:59:16.2449758Z       ],
2026-06-17T00:59:16.2449862Z       "stages": {
2026-06-17T00:59:16.2449967Z         "doc": {
2026-06-17T00:59:16.2450087Z           "complete": false,
2026-06-17T00:59:16.2450201Z           "evidence": []
2026-06-17T00:59:16.2450306Z         },
2026-06-17T00:59:16.2450411Z         "impl": {
2026-06-17T00:59:16.2450516Z           "complete": true,
2026-06-17T00:59:16.2450631Z           "evidence": [
2026-06-17T00:59:16.2450736Z             {
2026-06-17T00:59:16.2450883Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2450999Z               "line": 54
2026-06-17T00:59:16.2451097Z             },
2026-06-17T00:59:16.2451198Z             {
2026-06-17T00:59:16.2451351Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2451464Z               "line": 594
2026-06-17T00:59:16.2451559Z             },
2026-06-17T00:59:16.2451669Z             {
2026-06-17T00:59:16.2451815Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T00:59:16.2451919Z               "line": 130
2026-06-17T00:59:16.2452020Z             },
2026-06-17T00:59:16.2452120Z             {
2026-06-17T00:59:16.2452272Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2452373Z               "line": 97
2026-06-17T00:59:16.2452477Z             },
2026-06-17T00:59:16.2452578Z             {
2026-06-17T00:59:16.2452730Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2452854Z               "line": 159
2026-06-17T00:59:16.2452954Z             },
2026-06-17T00:59:16.2453059Z             {
2026-06-17T00:59:16.2453207Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2453316Z               "line": 175
2026-06-17T00:59:16.2453421Z             },
2026-06-17T00:59:16.2453522Z             {
2026-06-17T00:59:16.2453674Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2453783Z               "line": 190
2026-06-17T00:59:16.2453880Z             },
2026-06-17T00:59:16.2453979Z             {
2026-06-17T00:59:16.2454123Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2454228Z               "line": 271
2026-06-17T00:59:16.2454332Z             },
2026-06-17T00:59:16.2454431Z             {
2026-06-17T00:59:16.2454573Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2454691Z               "line": 306
2026-06-17T00:59:16.2454791Z             },
2026-06-17T00:59:16.2455020Z             {
2026-06-17T00:59:16.2455168Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2455278Z               "line": 312
2026-06-17T00:59:16.2455382Z             },
2026-06-17T00:59:16.2455488Z             {
2026-06-17T00:59:16.2455630Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2455735Z               "line": 318
2026-06-17T00:59:16.2455841Z             },
2026-06-17T00:59:16.2455945Z             {
2026-06-17T00:59:16.2456089Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2456207Z               "line": 334
2026-06-17T00:59:16.2456414Z             },
2026-06-17T00:59:16.2456522Z             {
2026-06-17T00:59:16.2456675Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2456785Z               "line": 354
2026-06-17T00:59:16.2456893Z             },
2026-06-17T00:59:16.2456993Z             {
2026-06-17T00:59:16.2457131Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.2457243Z               "line": 35
2026-06-17T00:59:16.2457348Z             },
2026-06-17T00:59:16.2457449Z             {
2026-06-17T00:59:16.2457596Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.2457702Z               "line": 85
2026-06-17T00:59:16.2457806Z             },
2026-06-17T00:59:16.2457910Z             {
2026-06-17T00:59:16.2458055Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.2458164Z               "line": 138
2026-06-17T00:59:16.2458263Z             },
2026-06-17T00:59:16.2458365Z             {
2026-06-17T00:59:16.2458493Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2458612Z               "line": 2698
2026-06-17T00:59:16.2458718Z             },
2026-06-17T00:59:16.2458827Z             {
2026-06-17T00:59:16.2459018Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2459126Z               "line": 17
2026-06-17T00:59:16.2459232Z             }
2026-06-17T00:59:16.2459338Z           ]
2026-06-17T00:59:16.2459441Z         },
2026-06-17T00:59:16.2459542Z         "int": {
2026-06-17T00:59:16.2459657Z           "complete": true,
2026-06-17T00:59:16.2459760Z           "evidence": [
2026-06-17T00:59:16.2459860Z             {
2026-06-17T00:59:16.2460023Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2460136Z               "line": 341
2026-06-17T00:59:16.2460237Z             },
2026-06-17T00:59:16.2460342Z             {
2026-06-17T00:59:16.2460504Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2460610Z               "line": 673
2026-06-17T00:59:16.2460715Z             },
2026-06-17T00:59:16.2460818Z             {
2026-06-17T00:59:16.2460962Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2461057Z               "line": 971
2026-06-17T00:59:16.2461157Z             }
2026-06-17T00:59:16.2461268Z           ]
2026-06-17T00:59:16.2461367Z         },
2026-06-17T00:59:16.2461476Z         "unit": {
2026-06-17T00:59:16.2461588Z           "complete": true,
2026-06-17T00:59:16.2461700Z           "evidence": [
2026-06-17T00:59:16.2461801Z             {
2026-06-17T00:59:16.2461949Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2462072Z               "line": 651
2026-06-17T00:59:16.2462171Z             },
2026-06-17T00:59:16.2462266Z             {
2026-06-17T00:59:16.2462403Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2462518Z               "line": 686
2026-06-17T00:59:16.2462618Z             },
2026-06-17T00:59:16.2462718Z             {
2026-06-17T00:59:16.2462885Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2462989Z               "line": 936
2026-06-17T00:59:16.2463094Z             },
2026-06-17T00:59:16.2463195Z             {
2026-06-17T00:59:16.2463342Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T00:59:16.2463448Z               "line": 201
2026-06-17T00:59:16.2463557Z             },
2026-06-17T00:59:16.2463758Z             {
2026-06-17T00:59:16.2463905Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2464024Z               "line": 442
2026-06-17T00:59:16.2464126Z             },
2026-06-17T00:59:16.2464234Z             {
2026-06-17T00:59:16.2464383Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2464492Z               "line": 456
2026-06-17T00:59:16.2464596Z             },
2026-06-17T00:59:16.2464702Z             {
2026-06-17T00:59:16.2464849Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2465058Z               "line": 475
2026-06-17T00:59:16.2465161Z             },
2026-06-17T00:59:16.2465265Z             {
2026-06-17T00:59:16.2465413Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.2465518Z               "line": 120
2026-06-17T00:59:16.2465622Z             },
2026-06-17T00:59:16.2465724Z             {
2026-06-17T00:59:16.2465866Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T00:59:16.2465976Z               "line": 163
2026-06-17T00:59:16.2466081Z             },
2026-06-17T00:59:16.2466176Z             {
2026-06-17T00:59:16.2466324Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T00:59:16.2466434Z               "line": 530
2026-06-17T00:59:16.2466543Z             },
2026-06-17T00:59:16.2466644Z             {
2026-06-17T00:59:16.2466777Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2466882Z               "line": 616
2026-06-17T00:59:16.2466983Z             },
2026-06-17T00:59:16.2467087Z             {
2026-06-17T00:59:16.2467225Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2467341Z               "line": 1006
2026-06-17T00:59:16.2467439Z             }
2026-06-17T00:59:16.2467538Z           ]
2026-06-17T00:59:16.2467644Z         }
2026-06-17T00:59:16.2467747Z       }
2026-06-17T00:59:16.2467851Z     },
2026-06-17T00:59:16.2467952Z     {
2026-06-17T00:59:16.2468071Z       "id": "REQ-NET-2",
2026-06-17T00:59:16.2468286Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-17T00:59:16.2468410Z       "requiredStages": [
2026-06-17T00:59:16.2468519Z         "impl"
2026-06-17T00:59:16.2468620Z       ],
2026-06-17T00:59:16.2468724Z       "stages": {
2026-06-17T00:59:16.2468828Z         "doc": {
2026-06-17T00:59:16.2469172Z           "complete": false,
2026-06-17T00:59:16.2469296Z           "evidence": []
2026-06-17T00:59:16.2469415Z         },
2026-06-17T00:59:16.2469531Z         "impl": {
2026-06-17T00:59:16.2469659Z           "complete": true,
2026-06-17T00:59:16.2469773Z           "evidence": [
2026-06-17T00:59:16.2469874Z             {
2026-06-17T00:59:16.2470025Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.2470131Z               "line": 57
2026-06-17T00:59:16.2470232Z             },
2026-06-17T00:59:16.2470335Z             {
2026-06-17T00:59:16.2470487Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2470593Z               "line": 71
2026-06-17T00:59:16.2470696Z             },
2026-06-17T00:59:16.2470797Z             {
2026-06-17T00:59:16.2470941Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2471049Z               "line": 81
2026-06-17T00:59:16.2471146Z             },
2026-06-17T00:59:16.2471245Z             {
2026-06-17T00:59:16.2471393Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2471499Z               "line": 159
2026-06-17T00:59:16.2471603Z             },
2026-06-17T00:59:16.2471703Z             {
2026-06-17T00:59:16.2471852Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2471965Z               "line": 175
2026-06-17T00:59:16.2472071Z             },
2026-06-17T00:59:16.2472171Z             {
2026-06-17T00:59:16.2472308Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T00:59:16.2472414Z               "line": 190
2026-06-17T00:59:16.2472514Z             }
2026-06-17T00:59:16.2472727Z           ]
2026-06-17T00:59:16.2472836Z         },
2026-06-17T00:59:16.2472939Z         "int": {
2026-06-17T00:59:16.2473054Z           "complete": false,
2026-06-17T00:59:16.2473155Z           "evidence": []
2026-06-17T00:59:16.2473258Z         },
2026-06-17T00:59:16.2473369Z         "unit": {
2026-06-17T00:59:16.2473483Z           "complete": true,
2026-06-17T00:59:16.2473592Z           "evidence": [
2026-06-17T00:59:16.2473684Z             {
2026-06-17T00:59:16.2473827Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.2473936Z               "line": 402
2026-06-17T00:59:16.2474141Z             }
2026-06-17T00:59:16.2474245Z           ]
2026-06-17T00:59:16.2474347Z         }
2026-06-17T00:59:16.2474451Z       }
2026-06-17T00:59:16.2474556Z     },
2026-06-17T00:59:16.2474657Z     {
2026-06-17T00:59:16.2474760Z       "id": "REQ-NET-3",
2026-06-17T00:59:16.2474976Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-17T00:59:16.2475089Z       "requiredStages": [
2026-06-17T00:59:16.2475195Z         "impl",
2026-06-17T00:59:16.2475306Z         "unit"
2026-06-17T00:59:16.2475414Z       ],
2026-06-17T00:59:16.2475518Z       "stages": {
2026-06-17T00:59:16.2475623Z         "doc": {
2026-06-17T00:59:16.2475740Z           "complete": false,
2026-06-17T00:59:16.2475849Z           "evidence": []
2026-06-17T00:59:16.2475950Z         },
2026-06-17T00:59:16.2476050Z         "impl": {
2026-06-17T00:59:16.2476164Z           "complete": true,
2026-06-17T00:59:16.2476265Z           "evidence": [
2026-06-17T00:59:16.2476370Z             {
2026-06-17T00:59:16.2476521Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2476627Z               "line": 39
2026-06-17T00:59:16.2476727Z             },
2026-06-17T00:59:16.2476826Z             {
2026-06-17T00:59:16.2476956Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2477075Z               "line": 182
2026-06-17T00:59:16.2477180Z             },
2026-06-17T00:59:16.2477280Z             {
2026-06-17T00:59:16.2477423Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T00:59:16.2477529Z               "line": 333
2026-06-17T00:59:16.2477633Z             },
2026-06-17T00:59:16.2477733Z             {
2026-06-17T00:59:16.2477882Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T00:59:16.2477995Z               "line": 36
2026-06-17T00:59:16.2478098Z             },
2026-06-17T00:59:16.2478204Z             {
2026-06-17T00:59:16.2478359Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2478478Z               "line": 158
2026-06-17T00:59:16.2478589Z             },
2026-06-17T00:59:16.2478693Z             {
2026-06-17T00:59:16.2478841Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2479022Z               "line": 212
2026-06-17T00:59:16.2479122Z             },
2026-06-17T00:59:16.2479222Z             {
2026-06-17T00:59:16.2479383Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2479513Z               "line": 233
2026-06-17T00:59:16.2479608Z             },
2026-06-17T00:59:16.2479713Z             {
2026-06-17T00:59:16.2479866Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2479975Z               "line": 291
2026-06-17T00:59:16.2480081Z             },
2026-06-17T00:59:16.2480181Z             {
2026-06-17T00:59:16.2480328Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2480439Z               "line": 310
2026-06-17T00:59:16.2480542Z             },
2026-06-17T00:59:16.2480647Z             {
2026-06-17T00:59:16.2480787Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2480885Z               "line": 348
2026-06-17T00:59:16.2480975Z             },
2026-06-17T00:59:16.2481076Z             {
2026-06-17T00:59:16.2481238Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2481338Z               "line": 393
2026-06-17T00:59:16.2481548Z             },
2026-06-17T00:59:16.2481648Z             {
2026-06-17T00:59:16.2481796Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2481910Z               "line": 406
2026-06-17T00:59:16.2482016Z             },
2026-06-17T00:59:16.2482120Z             {
2026-06-17T00:59:16.2482272Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2482379Z               "line": 29
2026-06-17T00:59:16.2482487Z             },
2026-06-17T00:59:16.2482592Z             {
2026-06-17T00:59:16.2482741Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2482965Z               "line": 72
2026-06-17T00:59:16.2483060Z             },
2026-06-17T00:59:16.2483168Z             {
2026-06-17T00:59:16.2483311Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2483429Z               "line": 123
2026-06-17T00:59:16.2483519Z             }
2026-06-17T00:59:16.2483619Z           ]
2026-06-17T00:59:16.2483720Z         },
2026-06-17T00:59:16.2483828Z         "int": {
2026-06-17T00:59:16.2483938Z           "complete": false,
2026-06-17T00:59:16.2484053Z           "evidence": []
2026-06-17T00:59:16.2484152Z         },
2026-06-17T00:59:16.2484249Z         "unit": {
2026-06-17T00:59:16.2484367Z           "complete": true,
2026-06-17T00:59:16.2484462Z           "evidence": [
2026-06-17T00:59:16.2484564Z             {
2026-06-17T00:59:16.2484706Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.2484825Z               "line": 223
2026-06-17T00:59:16.2484931Z             },
2026-06-17T00:59:16.2485035Z             {
2026-06-17T00:59:16.2485183Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.2485284Z               "line": 351
2026-06-17T00:59:16.2485393Z             },
2026-06-17T00:59:16.2485488Z             {
2026-06-17T00:59:16.2485631Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T00:59:16.2485740Z               "line": 504
2026-06-17T00:59:16.2485847Z             },
2026-06-17T00:59:16.2485960Z             {
2026-06-17T00:59:16.2486101Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T00:59:16.2486216Z               "line": 93
2026-06-17T00:59:16.2486324Z             },
2026-06-17T00:59:16.2486432Z             {
2026-06-17T00:59:16.2486572Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T00:59:16.2486676Z               "line": 142
2026-06-17T00:59:16.2486781Z             },
2026-06-17T00:59:16.2486882Z             {
2026-06-17T00:59:16.2487024Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2487145Z               "line": 315
2026-06-17T00:59:16.2487254Z             },
2026-06-17T00:59:16.2487358Z             {
2026-06-17T00:59:16.2487502Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2487611Z               "line": 355
2026-06-17T00:59:16.2487711Z             },
2026-06-17T00:59:16.2487817Z             {
2026-06-17T00:59:16.2487954Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T00:59:16.2488074Z               "line": 494
2026-06-17T00:59:16.2488179Z             }
2026-06-17T00:59:16.2488278Z           ]
2026-06-17T00:59:16.2488385Z         }
2026-06-17T00:59:16.2488484Z       }
2026-06-17T00:59:16.2488588Z     },
2026-06-17T00:59:16.2488687Z     {
2026-06-17T00:59:16.2488816Z       "id": "REQ-NODE-IDENTITY",
2026-06-17T00:59:16.2489173Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-17T00:59:16.2489290Z       "requiredStages": [
2026-06-17T00:59:16.2489401Z         "impl",
2026-06-17T00:59:16.2489501Z         "unit"
2026-06-17T00:59:16.2489605Z       ],
2026-06-17T00:59:16.2489712Z       "stages": {
2026-06-17T00:59:16.2489816Z         "doc": {
2026-06-17T00:59:16.2489934Z           "complete": false,
2026-06-17T00:59:16.2490045Z           "evidence": []
2026-06-17T00:59:16.2490149Z         },
2026-06-17T00:59:16.2490254Z         "impl": {
2026-06-17T00:59:16.2490379Z           "complete": true,
2026-06-17T00:59:16.2490592Z           "evidence": [
2026-06-17T00:59:16.2490684Z             {
2026-06-17T00:59:16.2490831Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2490937Z               "line": 60
2026-06-17T00:59:16.2491046Z             },
2026-06-17T00:59:16.2491145Z             {
2026-06-17T00:59:16.2491290Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2491399Z               "line": 68
2026-06-17T00:59:16.2491502Z             },
2026-06-17T00:59:16.2491602Z             {
2026-06-17T00:59:16.2491751Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2491965Z               "line": 86
2026-06-17T00:59:16.2492066Z             },
2026-06-17T00:59:16.2492164Z             {
2026-06-17T00:59:16.2492309Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2492418Z               "line": 120
2026-06-17T00:59:16.2492523Z             },
2026-06-17T00:59:16.2492628Z             {
2026-06-17T00:59:16.2492775Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2492881Z               "line": 127
2026-06-17T00:59:16.2492986Z             },
2026-06-17T00:59:16.2493086Z             {
2026-06-17T00:59:16.2493225Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2493334Z               "line": 143
2026-06-17T00:59:16.2493438Z             },
2026-06-17T00:59:16.2493535Z             {
2026-06-17T00:59:16.2493677Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T00:59:16.2493781Z               "line": 16
2026-06-17T00:59:16.2493885Z             }
2026-06-17T00:59:16.2493989Z           ]
2026-06-17T00:59:16.2494093Z         },
2026-06-17T00:59:16.2494198Z         "int": {
2026-06-17T00:59:16.2494317Z           "complete": false,
2026-06-17T00:59:16.2494426Z           "evidence": []
2026-06-17T00:59:16.2494527Z         },
2026-06-17T00:59:16.2494628Z         "unit": {
2026-06-17T00:59:16.2494731Z           "complete": true,
2026-06-17T00:59:16.2494842Z           "evidence": [
2026-06-17T00:59:16.2494947Z             {
2026-06-17T00:59:16.2495094Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2495200Z               "line": 199
2026-06-17T00:59:16.2495300Z             },
2026-06-17T00:59:16.2495409Z             {
2026-06-17T00:59:16.2495548Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2495652Z               "line": 218
2026-06-17T00:59:16.2495758Z             },
2026-06-17T00:59:16.2495863Z             {
2026-06-17T00:59:16.2496009Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2496116Z               "line": 234
2026-06-17T00:59:16.2496219Z             },
2026-06-17T00:59:16.2496324Z             {
2026-06-17T00:59:16.2496469Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T00:59:16.2496576Z               "line": 256
2026-06-17T00:59:16.2496676Z             },
2026-06-17T00:59:16.2496767Z             {
2026-06-17T00:59:16.2496907Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T00:59:16.2497012Z               "line": 124
2026-06-17T00:59:16.2497118Z             },
2026-06-17T00:59:16.2497222Z             {
2026-06-17T00:59:16.2497366Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T00:59:16.2497485Z               "line": 140
2026-06-17T00:59:16.2497589Z             },
2026-06-17T00:59:16.2497700Z             {
2026-06-17T00:59:16.2497848Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T00:59:16.2497952Z               "line": 155
2026-06-17T00:59:16.2498058Z             }
2026-06-17T00:59:16.2498152Z           ]
2026-06-17T00:59:16.2498262Z         }
2026-06-17T00:59:16.2498363Z       }
2026-06-17T00:59:16.2498476Z     },
2026-06-17T00:59:16.2498577Z     {
2026-06-17T00:59:16.2498697Z       "id": "REQ-NOTIF-1",
2026-06-17T00:59:16.2499181Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-17T00:59:16.2499441Z       "requiredStages": [
2026-06-17T00:59:16.2499550Z         "impl",
2026-06-17T00:59:16.2499651Z         "unit",
2026-06-17T00:59:16.2499756Z         "int"
2026-06-17T00:59:16.2499860Z       ],
2026-06-17T00:59:16.2499957Z       "stages": {
2026-06-17T00:59:16.2500061Z         "doc": {
2026-06-17T00:59:16.2500175Z           "complete": false,
2026-06-17T00:59:16.2500291Z           "evidence": []
2026-06-17T00:59:16.2500395Z         },
2026-06-17T00:59:16.2500499Z         "impl": {
2026-06-17T00:59:16.2500615Z           "complete": true,
2026-06-17T00:59:16.2500724Z           "evidence": [
2026-06-17T00:59:16.2500939Z             {
2026-06-17T00:59:16.2501081Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2501196Z               "line": 514
2026-06-17T00:59:16.2501301Z             },
2026-06-17T00:59:16.2501406Z             {
2026-06-17T00:59:16.2501555Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2501653Z               "line": 30
2026-06-17T00:59:16.2501763Z             },
2026-06-17T00:59:16.2501865Z             {
2026-06-17T00:59:16.2502001Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2502110Z               "line": 69
2026-06-17T00:59:16.2502215Z             },
2026-06-17T00:59:16.2502320Z             {
2026-06-17T00:59:16.2502463Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2502578Z               "line": 93
2026-06-17T00:59:16.2502673Z             },
2026-06-17T00:59:16.2502773Z             {
2026-06-17T00:59:16.2502917Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2503030Z               "line": 107
2026-06-17T00:59:16.2503136Z             },
2026-06-17T00:59:16.2503236Z             {
2026-06-17T00:59:16.2503378Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2503484Z               "line": 142
2026-06-17T00:59:16.2503589Z             },
2026-06-17T00:59:16.2503693Z             {
2026-06-17T00:59:16.2503842Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2503960Z               "line": 187
2026-06-17T00:59:16.2504061Z             },
2026-06-17T00:59:16.2504171Z             {
2026-06-17T00:59:16.2504307Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2504422Z               "line": 258
2026-06-17T00:59:16.2504526Z             },
2026-06-17T00:59:16.2504624Z             {
2026-06-17T00:59:16.2504763Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2504869Z               "line": 372
2026-06-17T00:59:16.2504972Z             },
2026-06-17T00:59:16.2505078Z             {
2026-06-17T00:59:16.2505221Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2505335Z               "line": 479
2026-06-17T00:59:16.2505436Z             },
2026-06-17T00:59:16.2505545Z             {
2026-06-17T00:59:16.2505689Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2505812Z               "line": 24
2026-06-17T00:59:16.2505916Z             },
2026-06-17T00:59:16.2506018Z             {
2026-06-17T00:59:16.2506170Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2506284Z               "line": 34
2026-06-17T00:59:16.2506390Z             },
2026-06-17T00:59:16.2506483Z             {
2026-06-17T00:59:16.2506638Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2506747Z               "line": 60
2026-06-17T00:59:16.2506852Z             },
2026-06-17T00:59:16.2506957Z             {
2026-06-17T00:59:16.2507099Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2507208Z               "line": 82
2026-06-17T00:59:16.2507313Z             },
2026-06-17T00:59:16.2507412Z             {
2026-06-17T00:59:16.2507563Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2507669Z               "line": 94
2026-06-17T00:59:16.2507773Z             },
2026-06-17T00:59:16.2507955Z             {
2026-06-17T00:59:16.2508107Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.2508206Z               "line": 96
2026-06-17T00:59:16.2508313Z             },
2026-06-17T00:59:16.2508422Z             {
2026-06-17T00:59:16.2508575Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-17T00:59:16.2508688Z               "line": 44
2026-06-17T00:59:16.2508788Z             },
2026-06-17T00:59:16.2508890Z             {
2026-06-17T00:59:16.2509122Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.2509228Z               "line": 20
2026-06-17T00:59:16.2509466Z             },
2026-06-17T00:59:16.2509567Z             {
2026-06-17T00:59:16.2509713Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.2509812Z               "line": 30
2026-06-17T00:59:16.2509913Z             },
2026-06-17T00:59:16.2510015Z             {
2026-06-17T00:59:16.2510163Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.2510279Z               "line": 50
2026-06-17T00:59:16.2510377Z             },
2026-06-17T00:59:16.2510483Z             {
2026-06-17T00:59:16.2510622Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2510740Z               "line": 28
2026-06-17T00:59:16.2510841Z             },
2026-06-17T00:59:16.2510941Z             {
2026-06-17T00:59:16.2511083Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2511189Z               "line": 126
2026-06-17T00:59:16.2511294Z             },
2026-06-17T00:59:16.2511398Z             {
2026-06-17T00:59:16.2511537Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2511651Z               "line": 161
2026-06-17T00:59:16.2511752Z             },
2026-06-17T00:59:16.2511852Z             {
2026-06-17T00:59:16.2511984Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2512095Z               "line": 202
2026-06-17T00:59:16.2512199Z             },
2026-06-17T00:59:16.2512299Z             {
2026-06-17T00:59:16.2512430Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2512542Z               "line": 213
2026-06-17T00:59:16.2512641Z             },
2026-06-17T00:59:16.2512742Z             {
2026-06-17T00:59:16.2512885Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2512984Z               "line": 238
2026-06-17T00:59:16.2513091Z             },
2026-06-17T00:59:16.2513191Z             {
2026-06-17T00:59:16.2513333Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2513439Z               "line": 261
2026-06-17T00:59:16.2513543Z             },
2026-06-17T00:59:16.2513648Z             {
2026-06-17T00:59:16.2513796Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2513905Z               "line": 82
2026-06-17T00:59:16.2514011Z             }
2026-06-17T00:59:16.2514111Z           ]
2026-06-17T00:59:16.2514210Z         },
2026-06-17T00:59:16.2514316Z         "int": {
2026-06-17T00:59:16.2514440Z           "complete": true,
2026-06-17T00:59:16.2514544Z           "evidence": [
2026-06-17T00:59:16.2514650Z             {
2026-06-17T00:59:16.2514797Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2514906Z               "line": 285
2026-06-17T00:59:16.2515001Z             },
2026-06-17T00:59:16.2515100Z             {
2026-06-17T00:59:16.2515241Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T00:59:16.2515347Z               "line": 102
2026-06-17T00:59:16.2515447Z             },
2026-06-17T00:59:16.2515551Z             {
2026-06-17T00:59:16.2515701Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2515814Z               "line": 682
2026-06-17T00:59:16.2515914Z             },
2026-06-17T00:59:16.2516024Z             {
2026-06-17T00:59:16.2516171Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2516277Z               "line": 1100
2026-06-17T00:59:16.2516386Z             }
2026-06-17T00:59:16.2516597Z           ]
2026-06-17T00:59:16.2516701Z         },
2026-06-17T00:59:16.2516805Z         "unit": {
2026-06-17T00:59:16.2516926Z           "complete": true,
2026-06-17T00:59:16.2517030Z           "evidence": [
2026-06-17T00:59:16.2517134Z             {
2026-06-17T00:59:16.2517279Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2517392Z               "line": 572
2026-06-17T00:59:16.2517498Z             },
2026-06-17T00:59:16.2517603Z             {
2026-06-17T00:59:16.2517749Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2517849Z               "line": 636
2026-06-17T00:59:16.2518042Z             },
2026-06-17T00:59:16.2518147Z             {
2026-06-17T00:59:16.2518291Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2518394Z               "line": 740
2026-06-17T00:59:16.2518496Z             },
2026-06-17T00:59:16.2518600Z             {
2026-06-17T00:59:16.2518738Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2518863Z               "line": 772
2026-06-17T00:59:16.2519033Z             },
2026-06-17T00:59:16.2519135Z             {
2026-06-17T00:59:16.2519287Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2519401Z               "line": 840
2026-06-17T00:59:16.2519507Z             },
2026-06-17T00:59:16.2519605Z             {
2026-06-17T00:59:16.2519750Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2522379Z               "line": 898
2026-06-17T00:59:16.2522516Z             },
2026-06-17T00:59:16.2522617Z             {
2026-06-17T00:59:16.2522787Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2522908Z               "line": 1173
2026-06-17T00:59:16.2523014Z             },
2026-06-17T00:59:16.2523116Z             {
2026-06-17T00:59:16.2523274Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2523379Z               "line": 157
2026-06-17T00:59:16.2523478Z             },
2026-06-17T00:59:16.2523578Z             {
2026-06-17T00:59:16.2523727Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2523841Z               "line": 250
2026-06-17T00:59:16.2523942Z             },
2026-06-17T00:59:16.2524046Z             {
2026-06-17T00:59:16.2524193Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T00:59:16.2524309Z               "line": 273
2026-06-17T00:59:16.2524413Z             },
2026-06-17T00:59:16.2524513Z             {
2026-06-17T00:59:16.2524666Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.2524775Z               "line": 355
2026-06-17T00:59:16.2524886Z             },
2026-06-17T00:59:16.2524981Z             {
2026-06-17T00:59:16.2525123Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T00:59:16.2525225Z               "line": 392
2026-06-17T00:59:16.2525328Z             },
2026-06-17T00:59:16.2525432Z             {
2026-06-17T00:59:16.2525590Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-17T00:59:16.2525702Z               "line": 131
2026-06-17T00:59:16.2525806Z             },
2026-06-17T00:59:16.2525912Z             {
2026-06-17T00:59:16.2526059Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.2526174Z               "line": 72
2026-06-17T00:59:16.2526279Z             },
2026-06-17T00:59:16.2526374Z             {
2026-06-17T00:59:16.2526509Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T00:59:16.2526618Z               "line": 97
2026-06-17T00:59:16.2526717Z             },
2026-06-17T00:59:16.2526824Z             {
2026-06-17T00:59:16.2526966Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2527065Z               "line": 379
2026-06-17T00:59:16.2527171Z             },
2026-06-17T00:59:16.2527271Z             {
2026-06-17T00:59:16.2527399Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2527515Z               "line": 417
2026-06-17T00:59:16.2527609Z             },
2026-06-17T00:59:16.2527844Z             {
2026-06-17T00:59:16.2527981Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2528087Z               "line": 433
2026-06-17T00:59:16.2528187Z             },
2026-06-17T00:59:16.2528290Z             {
2026-06-17T00:59:16.2528438Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2528541Z               "line": 472
2026-06-17T00:59:16.2528645Z             },
2026-06-17T00:59:16.2528751Z             {
2026-06-17T00:59:16.2528875Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2529061Z               "line": 489
2026-06-17T00:59:16.2529265Z             },
2026-06-17T00:59:16.2529371Z             {
2026-06-17T00:59:16.2529514Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2529627Z               "line": 517
2026-06-17T00:59:16.2529723Z             },
2026-06-17T00:59:16.2529823Z             {
2026-06-17T00:59:16.2529966Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T00:59:16.2530067Z               "line": 548
2026-06-17T00:59:16.2530166Z             },
2026-06-17T00:59:16.2530266Z             {
2026-06-17T00:59:16.2530415Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2530524Z               "line": 741
2026-06-17T00:59:16.2530625Z             }
2026-06-17T00:59:16.2530725Z           ]
2026-06-17T00:59:16.2530828Z         }
2026-06-17T00:59:16.2530932Z       }
2026-06-17T00:59:16.2531033Z     },
2026-06-17T00:59:16.2531141Z     {
2026-06-17T00:59:16.2531259Z       "id": "REQ-NOTIF-2",
2026-06-17T00:59:16.2531555Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-17T00:59:16.2531676Z       "requiredStages": [
2026-06-17T00:59:16.2531780Z         "doc",
2026-06-17T00:59:16.2531880Z         "impl",
2026-06-17T00:59:16.2531985Z         "unit",
2026-06-17T00:59:16.2532085Z         "int"
2026-06-17T00:59:16.2532189Z       ],
2026-06-17T00:59:16.2532295Z       "stages": {
2026-06-17T00:59:16.2532409Z         "doc": {
2026-06-17T00:59:16.2532514Z           "complete": true,
2026-06-17T00:59:16.2532620Z           "evidence": [
2026-06-17T00:59:16.2532724Z             {
2026-06-17T00:59:16.2532843Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2532949Z               "line": 461
2026-06-17T00:59:16.2533047Z             },
2026-06-17T00:59:16.2533153Z             {
2026-06-17T00:59:16.2533273Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.2533381Z               "line": 79
2026-06-17T00:59:16.2533482Z             }
2026-06-17T00:59:16.2533588Z           ]
2026-06-17T00:59:16.2533691Z         },
2026-06-17T00:59:16.2533795Z         "impl": {
2026-06-17T00:59:16.2533906Z           "complete": true,
2026-06-17T00:59:16.2534010Z           "evidence": [
2026-06-17T00:59:16.2534114Z             {
2026-06-17T00:59:16.2534258Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2534367Z               "line": 287
2026-06-17T00:59:16.2534473Z             },
2026-06-17T00:59:16.2534564Z             {
2026-06-17T00:59:16.2534710Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2534807Z               "line": 301
2026-06-17T00:59:16.2534911Z             },
2026-06-17T00:59:16.2535020Z             {
2026-06-17T00:59:16.2535160Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2535273Z               "line": 326
2026-06-17T00:59:16.2535378Z             },
2026-06-17T00:59:16.2535485Z             {
2026-06-17T00:59:16.2535626Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2535751Z               "line": 199
2026-06-17T00:59:16.2535856Z             },
2026-06-17T00:59:16.2535959Z             {
2026-06-17T00:59:16.2536102Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2536210Z               "line": 91
2026-06-17T00:59:16.2536319Z             },
2026-06-17T00:59:16.2536414Z             {
2026-06-17T00:59:16.2536544Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2536763Z               "line": 2024
2026-06-17T00:59:16.2536868Z             },
2026-06-17T00:59:16.2536972Z             {
2026-06-17T00:59:16.2537097Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2537220Z               "line": 2073
2026-06-17T00:59:16.2537320Z             },
2026-06-17T00:59:16.2537421Z             {
2026-06-17T00:59:16.2537549Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2537654Z               "line": 2152
2026-06-17T00:59:16.2537764Z             },
2026-06-17T00:59:16.2537864Z             {
2026-06-17T00:59:16.2538070Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2538174Z               "line": 2191
2026-06-17T00:59:16.2538274Z             }
2026-06-17T00:59:16.2538385Z           ]
2026-06-17T00:59:16.2538488Z         },
2026-06-17T00:59:16.2538594Z         "int": {
2026-06-17T00:59:16.2538700Z           "complete": true,
2026-06-17T00:59:16.2538813Z           "evidence": [
2026-06-17T00:59:16.2538912Z             {
2026-06-17T00:59:16.2539153Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2539267Z               "line": 808
2026-06-17T00:59:16.2539368Z             },
2026-06-17T00:59:16.2539482Z             {
2026-06-17T00:59:16.2539631Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2539735Z               "line": 1343
2026-06-17T00:59:16.2539839Z             }
2026-06-17T00:59:16.2539946Z           ]
2026-06-17T00:59:16.2540040Z         },
2026-06-17T00:59:16.2540140Z         "unit": {
2026-06-17T00:59:16.2540255Z           "complete": true,
2026-06-17T00:59:16.2540364Z           "evidence": [
2026-06-17T00:59:16.2540460Z             {
2026-06-17T00:59:16.2540608Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2540712Z               "line": 1022
2026-06-17T00:59:16.2540812Z             },
2026-06-17T00:59:16.2540914Z             {
2026-06-17T00:59:16.2541055Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2541161Z               "line": 1090
2026-06-17T00:59:16.2541266Z             },
2026-06-17T00:59:16.2541365Z             {
2026-06-17T00:59:16.2541493Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2541607Z               "line": 7472
2026-06-17T00:59:16.2541706Z             },
2026-06-17T00:59:16.2541810Z             {
2026-06-17T00:59:16.2541935Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2542044Z               "line": 7527
2026-06-17T00:59:16.2542139Z             }
2026-06-17T00:59:16.2542245Z           ]
2026-06-17T00:59:16.2542349Z         }
2026-06-17T00:59:16.2542454Z       }
2026-06-17T00:59:16.2542559Z     },
2026-06-17T00:59:16.2542660Z     {
2026-06-17T00:59:16.2542773Z       "id": "REQ-PAIR-1",
2026-06-17T00:59:16.2542903Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-17T00:59:16.2543017Z       "requiredStages": [
2026-06-17T00:59:16.2543117Z         "impl",
2026-06-17T00:59:16.2543227Z         "unit",
2026-06-17T00:59:16.2543336Z         "int"
2026-06-17T00:59:16.2543437Z       ],
2026-06-17T00:59:16.2543542Z       "stages": {
2026-06-17T00:59:16.2543642Z         "doc": {
2026-06-17T00:59:16.2543762Z           "complete": false,
2026-06-17T00:59:16.2543871Z           "evidence": []
2026-06-17T00:59:16.2543971Z         },
2026-06-17T00:59:16.2544072Z         "impl": {
2026-06-17T00:59:16.2544190Z           "complete": true,
2026-06-17T00:59:16.2544298Z           "evidence": [
2026-06-17T00:59:16.2544398Z             {
2026-06-17T00:59:16.2544561Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2544679Z               "line": 27
2026-06-17T00:59:16.2544781Z             },
2026-06-17T00:59:16.2544881Z             {
2026-06-17T00:59:16.2545038Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2545157Z               "line": 88
2026-06-17T00:59:16.2545256Z             },
2026-06-17T00:59:16.2545357Z             {
2026-06-17T00:59:16.2545604Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2545710Z               "line": 110
2026-06-17T00:59:16.2545814Z             },
2026-06-17T00:59:16.2545914Z             {
2026-06-17T00:59:16.2546064Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2546172Z               "line": 153
2026-06-17T00:59:16.2546287Z             },
2026-06-17T00:59:16.2546388Z             {
2026-06-17T00:59:16.2546539Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2546653Z               "line": 182
2026-06-17T00:59:16.2546851Z             },
2026-06-17T00:59:16.2546956Z             {
2026-06-17T00:59:16.2547113Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2547227Z               "line": 29
2026-06-17T00:59:16.2547333Z             },
2026-06-17T00:59:16.2547433Z             {
2026-06-17T00:59:16.2547600Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T00:59:16.2547704Z               "line": 31
2026-06-17T00:59:16.2547809Z             },
2026-06-17T00:59:16.2547919Z             {
2026-06-17T00:59:16.2548067Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2548171Z               "line": 44
2026-06-17T00:59:16.2548273Z             },
2026-06-17T00:59:16.2548376Z             {
2026-06-17T00:59:16.2548519Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2548635Z               "line": 171
2026-06-17T00:59:16.2548739Z             },
2026-06-17T00:59:16.2548839Z             {
2026-06-17T00:59:16.2549073Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2549184Z               "line": 376
2026-06-17T00:59:16.2549288Z             }
2026-06-17T00:59:16.2549391Z           ]
2026-06-17T00:59:16.2549506Z         },
2026-06-17T00:59:16.2549610Z         "int": {
2026-06-17T00:59:16.2549723Z           "complete": true,
2026-06-17T00:59:16.2549828Z           "evidence": [
2026-06-17T00:59:16.2549933Z             {
2026-06-17T00:59:16.2550075Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2550181Z               "line": 643
2026-06-17T00:59:16.2550276Z             },
2026-06-17T00:59:16.2550380Z             {
2026-06-17T00:59:16.2550525Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2550634Z               "line": 885
2026-06-17T00:59:16.2550733Z             }
2026-06-17T00:59:16.2550835Z           ]
2026-06-17T00:59:16.2550934Z         },
2026-06-17T00:59:16.2551043Z         "unit": {
2026-06-17T00:59:16.2551164Z           "complete": true,
2026-06-17T00:59:16.2551272Z           "evidence": [
2026-06-17T00:59:16.2551377Z             {
2026-06-17T00:59:16.2551531Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2551644Z               "line": 236
2026-06-17T00:59:16.2551736Z             },
2026-06-17T00:59:16.2551836Z             {
2026-06-17T00:59:16.2551986Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T00:59:16.2552086Z               "line": 349
2026-06-17T00:59:16.2552191Z             },
2026-06-17T00:59:16.2552289Z             {
2026-06-17T00:59:16.2552447Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2552548Z               "line": 194
2026-06-17T00:59:16.2552641Z             },
2026-06-17T00:59:16.2552738Z             {
2026-06-17T00:59:16.2552886Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2553000Z               "line": 216
2026-06-17T00:59:16.2553096Z             },
2026-06-17T00:59:16.2553205Z             {
2026-06-17T00:59:16.2553348Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2553463Z               "line": 230
2026-06-17T00:59:16.2553567Z             },
2026-06-17T00:59:16.2553667Z             {
2026-06-17T00:59:16.2553815Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2554050Z               "line": 242
2026-06-17T00:59:16.2554149Z             },
2026-06-17T00:59:16.2554249Z             {
2026-06-17T00:59:16.2554393Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2554496Z               "line": 256
2026-06-17T00:59:16.2554598Z             },
2026-06-17T00:59:16.2554698Z             {
2026-06-17T00:59:16.2554839Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2554949Z               "line": 270
2026-06-17T00:59:16.2555055Z             },
2026-06-17T00:59:16.2555159Z             {
2026-06-17T00:59:16.2555302Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2555506Z               "line": 277
2026-06-17T00:59:16.2555608Z             },
2026-06-17T00:59:16.2555712Z             {
2026-06-17T00:59:16.2555854Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T00:59:16.2555961Z               "line": 295
2026-06-17T00:59:16.2556055Z             },
2026-06-17T00:59:16.2556169Z             {
2026-06-17T00:59:16.2556314Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2556413Z               "line": 968
2026-06-17T00:59:16.2556508Z             },
2026-06-17T00:59:16.2556614Z             {
2026-06-17T00:59:16.2556766Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2556876Z               "line": 1051
2026-06-17T00:59:16.2556976Z             },
2026-06-17T00:59:16.2557075Z             {
2026-06-17T00:59:16.2557227Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2557331Z               "line": 1121
2026-06-17T00:59:16.2557435Z             },
2026-06-17T00:59:16.2557540Z             {
2026-06-17T00:59:16.2557692Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2557806Z               "line": 1182
2026-06-17T00:59:16.2557912Z             },
2026-06-17T00:59:16.2558012Z             {
2026-06-17T00:59:16.2558160Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2558279Z               "line": 1238
2026-06-17T00:59:16.2558373Z             },
2026-06-17T00:59:16.2558480Z             {
2026-06-17T00:59:16.2558627Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2558726Z               "line": 1457
2026-06-17T00:59:16.2558828Z             }
2026-06-17T00:59:16.2558936Z           ]
2026-06-17T00:59:16.2559124Z         }
2026-06-17T00:59:16.2559214Z       }
2026-06-17T00:59:16.2559314Z     },
2026-06-17T00:59:16.2559419Z     {
2026-06-17T00:59:16.2559534Z       "id": "REQ-PAIR-2",
2026-06-17T00:59:16.2559705Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-17T00:59:16.2559816Z       "requiredStages": [],
2026-06-17T00:59:16.2559918Z       "stages": {
2026-06-17T00:59:16.2560018Z         "doc": {
2026-06-17T00:59:16.2560133Z           "complete": false,
2026-06-17T00:59:16.2560245Z           "evidence": []
2026-06-17T00:59:16.2560344Z         },
2026-06-17T00:59:16.2560455Z         "impl": {
2026-06-17T00:59:16.2560569Z           "complete": false,
2026-06-17T00:59:16.2560673Z           "evidence": []
2026-06-17T00:59:16.2560770Z         },
2026-06-17T00:59:16.2560874Z         "int": {
2026-06-17T00:59:16.2560983Z           "complete": false,
2026-06-17T00:59:16.2561094Z           "evidence": []
2026-06-17T00:59:16.2561185Z         },
2026-06-17T00:59:16.2561289Z         "unit": {
2026-06-17T00:59:16.2561404Z           "complete": false,
2026-06-17T00:59:16.2561503Z           "evidence": []
2026-06-17T00:59:16.2561608Z         }
2026-06-17T00:59:16.2561715Z       }
2026-06-17T00:59:16.2561813Z     },
2026-06-17T00:59:16.2561913Z     {
2026-06-17T00:59:16.2562024Z       "id": "REQ-PAIR-3",
2026-06-17T00:59:16.2562190Z       "title": "Fetch current pairing code from any paired node",
2026-06-17T00:59:16.2562310Z       "requiredStages": [
2026-06-17T00:59:16.2562405Z         "impl",
2026-06-17T00:59:16.2562514Z         "unit"
2026-06-17T00:59:16.2562713Z       ],
2026-06-17T00:59:16.2562816Z       "stages": {
2026-06-17T00:59:16.2562920Z         "doc": {
2026-06-17T00:59:16.2563031Z           "complete": false,
2026-06-17T00:59:16.2563136Z           "evidence": []
2026-06-17T00:59:16.2563235Z         },
2026-06-17T00:59:16.2563336Z         "impl": {
2026-06-17T00:59:16.2563441Z           "complete": true,
2026-06-17T00:59:16.2563555Z           "evidence": [
2026-06-17T00:59:16.2563656Z             {
2026-06-17T00:59:16.2563794Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2563908Z               "line": 2983
2026-06-17T00:59:16.2564008Z             },
2026-06-17T00:59:16.2564208Z             {
2026-06-17T00:59:16.2564337Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2564456Z               "line": 3052
2026-06-17T00:59:16.2564562Z             },
2026-06-17T00:59:16.2564662Z             {
2026-06-17T00:59:16.2564785Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2564892Z               "line": 3433
2026-06-17T00:59:16.2565000Z             },
2026-06-17T00:59:16.2565096Z             {
2026-06-17T00:59:16.2565221Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2565324Z               "line": 4678
2026-06-17T00:59:16.2565433Z             }
2026-06-17T00:59:16.2565533Z           ]
2026-06-17T00:59:16.2565639Z         },
2026-06-17T00:59:16.2565742Z         "int": {
2026-06-17T00:59:16.2565853Z           "complete": false,
2026-06-17T00:59:16.2565962Z           "evidence": []
2026-06-17T00:59:16.2566067Z         },
2026-06-17T00:59:16.2566168Z         "unit": {
2026-06-17T00:59:16.2566277Z           "complete": true,
2026-06-17T00:59:16.2566391Z           "evidence": [
2026-06-17T00:59:16.2566497Z             {
2026-06-17T00:59:16.2566625Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2566739Z               "line": 9188
2026-06-17T00:59:16.2566836Z             },
2026-06-17T00:59:16.2566935Z             {
2026-06-17T00:59:16.2567068Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2567160Z               "line": 9403
2026-06-17T00:59:16.2567264Z             },
2026-06-17T00:59:16.2567364Z             {
2026-06-17T00:59:16.2567489Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2567588Z               "line": 10045
2026-06-17T00:59:16.2567697Z             },
2026-06-17T00:59:16.2567806Z             {
2026-06-17T00:59:16.2567924Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2568042Z               "line": 10064
2026-06-17T00:59:16.2568133Z             },
2026-06-17T00:59:16.2568230Z             {
2026-06-17T00:59:16.2568347Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2568458Z               "line": 10088
2026-06-17T00:59:16.2568567Z             },
2026-06-17T00:59:16.2568667Z             {
2026-06-17T00:59:16.2568792Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2568892Z               "line": 10107
2026-06-17T00:59:16.2569073Z             },
2026-06-17T00:59:16.2569173Z             {
2026-06-17T00:59:16.2569291Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2569397Z               "line": 10120
2026-06-17T00:59:16.2569501Z             },
2026-06-17T00:59:16.2569606Z             {
2026-06-17T00:59:16.2569727Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2569844Z               "line": 10129
2026-06-17T00:59:16.2569950Z             }
2026-06-17T00:59:16.2570051Z           ]
2026-06-17T00:59:16.2570154Z         }
2026-06-17T00:59:16.2570260Z       }
2026-06-17T00:59:16.2570366Z     },
2026-06-17T00:59:16.2570465Z     {
2026-06-17T00:59:16.2570587Z       "id": "REQ-PAIR-4",
2026-06-17T00:59:16.2570726Z       "title": "Subnet naming on first pairing",
2026-06-17T00:59:16.2570843Z       "requiredStages": [
2026-06-17T00:59:16.2570948Z         "impl",
2026-06-17T00:59:16.2571048Z         "unit"
2026-06-17T00:59:16.2571153Z       ],
2026-06-17T00:59:16.2571257Z       "stages": {
2026-06-17T00:59:16.2571363Z         "doc": {
2026-06-17T00:59:16.2571587Z           "complete": false,
2026-06-17T00:59:16.2571697Z           "evidence": []
2026-06-17T00:59:16.2571796Z         },
2026-06-17T00:59:16.2571897Z         "impl": {
2026-06-17T00:59:16.2572002Z           "complete": true,
2026-06-17T00:59:16.2572111Z           "evidence": [
2026-06-17T00:59:16.2572206Z             {
2026-06-17T00:59:16.2572345Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T00:59:16.2572454Z               "line": 174
2026-06-17T00:59:16.2572560Z             }
2026-06-17T00:59:16.2572660Z           ]
2026-06-17T00:59:16.2572764Z         },
2026-06-17T00:59:16.2572966Z         "int": {
2026-06-17T00:59:16.2573088Z           "complete": false,
2026-06-17T00:59:16.2573188Z           "evidence": []
2026-06-17T00:59:16.2573297Z         },
2026-06-17T00:59:16.2573400Z         "unit": {
2026-06-17T00:59:16.2573505Z           "complete": true,
2026-06-17T00:59:16.2573620Z           "evidence": [
2026-06-17T00:59:16.2573710Z             {
2026-06-17T00:59:16.2573878Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2573987Z               "line": 1294
2026-06-17T00:59:16.2574087Z             }
2026-06-17T00:59:16.2574193Z           ]
2026-06-17T00:59:16.2574292Z         }
2026-06-17T00:59:16.2574396Z       }
2026-06-17T00:59:16.2574498Z     },
2026-06-17T00:59:16.2574602Z     {
2026-06-17T00:59:16.2574706Z       "id": "REQ-PAIR-5",
2026-06-17T00:59:16.2575050Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-17T00:59:16.2575170Z       "requiredStages": [
2026-06-17T00:59:16.2575264Z         "impl",
2026-06-17T00:59:16.2575370Z         "unit",
2026-06-17T00:59:16.2575471Z         "int"
2026-06-17T00:59:16.2575574Z       ],
2026-06-17T00:59:16.2575675Z       "stages": {
2026-06-17T00:59:16.2575781Z         "doc": {
2026-06-17T00:59:16.2575903Z           "complete": false,
2026-06-17T00:59:16.2576011Z           "evidence": []
2026-06-17T00:59:16.2576118Z         },
2026-06-17T00:59:16.2576218Z         "impl": {
2026-06-17T00:59:16.2576336Z           "complete": true,
2026-06-17T00:59:16.2576446Z           "evidence": [
2026-06-17T00:59:16.2576552Z             {
2026-06-17T00:59:16.2576708Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2576814Z               "line": 44
2026-06-17T00:59:16.2576904Z             },
2026-06-17T00:59:16.2577009Z             {
2026-06-17T00:59:16.2577162Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2577271Z               "line": 96
2026-06-17T00:59:16.2577377Z             },
2026-06-17T00:59:16.2577481Z             {
2026-06-17T00:59:16.2577623Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2577739Z               "line": 107
2026-06-17T00:59:16.2577838Z             },
2026-06-17T00:59:16.2577948Z             {
2026-06-17T00:59:16.2578092Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2578195Z               "line": 124
2026-06-17T00:59:16.2578299Z             },
2026-06-17T00:59:16.2578400Z             {
2026-06-17T00:59:16.2578545Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2578660Z               "line": 155
2026-06-17T00:59:16.2578761Z             },
2026-06-17T00:59:16.2578864Z             {
2026-06-17T00:59:16.2579094Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2579203Z               "line": 195
2026-06-17T00:59:16.2579304Z             },
2026-06-17T00:59:16.2579423Z             {
2026-06-17T00:59:16.2579571Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2579686Z               "line": 251
2026-06-17T00:59:16.2579785Z             },
2026-06-17T00:59:16.2579890Z             {
2026-06-17T00:59:16.2580062Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2580171Z               "line": 33
2026-06-17T00:59:16.2580282Z             },
2026-06-17T00:59:16.2580486Z             {
2026-06-17T00:59:16.2580654Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2580758Z               "line": 45
2026-06-17T00:59:16.2580854Z             },
2026-06-17T00:59:16.2580960Z             {
2026-06-17T00:59:16.2581124Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2581233Z               "line": 59
2026-06-17T00:59:16.2581333Z             },
2026-06-17T00:59:16.2581436Z             {
2026-06-17T00:59:16.2581590Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2581798Z               "line": 376
2026-06-17T00:59:16.2581905Z             }
2026-06-17T00:59:16.2582009Z           ]
2026-06-17T00:59:16.2582113Z         },
2026-06-17T00:59:16.2582215Z         "int": {
2026-06-17T00:59:16.2582324Z           "complete": true,
2026-06-17T00:59:16.2582428Z           "evidence": [
2026-06-17T00:59:16.2582524Z             {
2026-06-17T00:59:16.2582667Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2582786Z               "line": 885
2026-06-17T00:59:16.2582892Z             },
2026-06-17T00:59:16.2582991Z             {
2026-06-17T00:59:16.2583135Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2583239Z               "line": 342
2026-06-17T00:59:16.2583339Z             }
2026-06-17T00:59:16.2583436Z           ]
2026-06-17T00:59:16.2583535Z         },
2026-06-17T00:59:16.2583638Z         "unit": {
2026-06-17T00:59:16.2583758Z           "complete": true,
2026-06-17T00:59:16.2583867Z           "evidence": [
2026-06-17T00:59:16.2583970Z             {
2026-06-17T00:59:16.2584123Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2584237Z               "line": 293
2026-06-17T00:59:16.2584337Z             },
2026-06-17T00:59:16.2584443Z             {
2026-06-17T00:59:16.2584599Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2584699Z               "line": 304
2026-06-17T00:59:16.2584805Z             },
2026-06-17T00:59:16.2584909Z             {
2026-06-17T00:59:16.2585053Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2585152Z               "line": 406
2026-06-17T00:59:16.2585257Z             },
2026-06-17T00:59:16.2585363Z             {
2026-06-17T00:59:16.2585525Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2585638Z               "line": 72
2026-06-17T00:59:16.2585745Z             },
2026-06-17T00:59:16.2585848Z             {
2026-06-17T00:59:16.2586012Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2586129Z               "line": 82
2026-06-17T00:59:16.2586240Z             },
2026-06-17T00:59:16.2586336Z             {
2026-06-17T00:59:16.2586491Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2586600Z               "line": 100
2026-06-17T00:59:16.2586711Z             },
2026-06-17T00:59:16.2586811Z             {
2026-06-17T00:59:16.2586978Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2587093Z               "line": 110
2026-06-17T00:59:16.2587197Z             },
2026-06-17T00:59:16.2587298Z             {
2026-06-17T00:59:16.2587459Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T00:59:16.2587559Z               "line": 125
2026-06-17T00:59:16.2587665Z             },
2026-06-17T00:59:16.2587764Z             {
2026-06-17T00:59:16.2587917Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2588036Z               "line": 1044
2026-06-17T00:59:16.2588141Z             },
2026-06-17T00:59:16.2588242Z             {
2026-06-17T00:59:16.2588403Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2588523Z               "line": 1110
2026-06-17T00:59:16.2588628Z             },
2026-06-17T00:59:16.2588727Z             {
2026-06-17T00:59:16.2589063Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.2589172Z               "line": 1357
2026-06-17T00:59:16.2589268Z             }
2026-06-17T00:59:16.2589373Z           ]
2026-06-17T00:59:16.2589492Z         }
2026-06-17T00:59:16.2589593Z       }
2026-06-17T00:59:16.2589697Z     },
2026-06-17T00:59:16.2589796Z     {
2026-06-17T00:59:16.2589912Z       "id": "REQ-PAIR-6",
2026-06-17T00:59:16.2590198Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-17T00:59:16.2590317Z       "requiredStages": [
2026-06-17T00:59:16.2590522Z         "impl",
2026-06-17T00:59:16.2590617Z         "unit"
2026-06-17T00:59:16.2590722Z       ],
2026-06-17T00:59:16.2590828Z       "stages": {
2026-06-17T00:59:16.2590932Z         "doc": {
2026-06-17T00:59:16.2591041Z           "complete": false,
2026-06-17T00:59:16.2591143Z           "evidence": []
2026-06-17T00:59:16.2591247Z         },
2026-06-17T00:59:16.2591352Z         "impl": {
2026-06-17T00:59:16.2591472Z           "complete": true,
2026-06-17T00:59:16.2591571Z           "evidence": [
2026-06-17T00:59:16.2591670Z             {
2026-06-17T00:59:16.2591794Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2591907Z               "line": 3052
2026-06-17T00:59:16.2592010Z             },
2026-06-17T00:59:16.2592111Z             {
2026-06-17T00:59:16.2592250Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2592349Z               "line": 3433
2026-06-17T00:59:16.2592455Z             },
2026-06-17T00:59:16.2592555Z             {
2026-06-17T00:59:16.2592697Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.2592813Z               "line": 18
2026-06-17T00:59:16.2592917Z             },
2026-06-17T00:59:16.2593026Z             {
2026-06-17T00:59:16.2593156Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.2593260Z               "line": 49
2026-06-17T00:59:16.2593361Z             },
2026-06-17T00:59:16.2593461Z             {
2026-06-17T00:59:16.2593598Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.2593709Z               "line": 318
2026-06-17T00:59:16.2593813Z             }
2026-06-17T00:59:16.2593913Z           ]
2026-06-17T00:59:16.2594019Z         },
2026-06-17T00:59:16.2594119Z         "int": {
2026-06-17T00:59:16.2594227Z           "complete": false,
2026-06-17T00:59:16.2594341Z           "evidence": []
2026-06-17T00:59:16.2594441Z         },
2026-06-17T00:59:16.2594549Z         "unit": {
2026-06-17T00:59:16.2594663Z           "complete": true,
2026-06-17T00:59:16.2594779Z           "evidence": [
2026-06-17T00:59:16.2594882Z             {
2026-06-17T00:59:16.2595017Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2595131Z               "line": 10142
2026-06-17T00:59:16.2595235Z             },
2026-06-17T00:59:16.2595346Z             {
2026-06-17T00:59:16.2595469Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2595584Z               "line": 10159
2026-06-17T00:59:16.2595685Z             },
2026-06-17T00:59:16.2595784Z             {
2026-06-17T00:59:16.2595913Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.2596018Z               "line": 383
2026-06-17T00:59:16.2596122Z             },
2026-06-17T00:59:16.2596223Z             {
2026-06-17T00:59:16.2596361Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T00:59:16.2596470Z               "line": 392
2026-06-17T00:59:16.2596576Z             }
2026-06-17T00:59:16.2596690Z           ]
2026-06-17T00:59:16.2596790Z         }
2026-06-17T00:59:16.2596896Z       }
2026-06-17T00:59:16.2596995Z     },
2026-06-17T00:59:16.2597099Z     {
2026-06-17T00:59:16.2597208Z       "id": "REQ-PAIR-7",
2026-06-17T00:59:16.2597409Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-17T00:59:16.2597533Z       "requiredStages": [],
2026-06-17T00:59:16.2597643Z       "stages": {
2026-06-17T00:59:16.2597747Z         "doc": {
2026-06-17T00:59:16.2597863Z           "complete": false,
2026-06-17T00:59:16.2598086Z           "evidence": []
2026-06-17T00:59:16.2600705Z         },
2026-06-17T00:59:16.2600849Z         "impl": {
2026-06-17T00:59:16.2600972Z           "complete": false,
2026-06-17T00:59:16.2601083Z           "evidence": []
2026-06-17T00:59:16.2601182Z         },
2026-06-17T00:59:16.2601282Z         "int": {
2026-06-17T00:59:16.2601398Z           "complete": false,
2026-06-17T00:59:16.2601497Z           "evidence": []
2026-06-17T00:59:16.2601602Z         },
2026-06-17T00:59:16.2601708Z         "unit": {
2026-06-17T00:59:16.2601821Z           "complete": false,
2026-06-17T00:59:16.2602065Z           "evidence": []
2026-06-17T00:59:16.2602169Z         }
2026-06-17T00:59:16.2602277Z       }
2026-06-17T00:59:16.2602382Z     },
2026-06-17T00:59:16.2602481Z     {
2026-06-17T00:59:16.2602590Z       "id": "REQ-PAIR-8",
2026-06-17T00:59:16.2604021Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-17T00:59:16.2604154Z       "requiredStages": [
2026-06-17T00:59:16.2604260Z         "impl",
2026-06-17T00:59:16.2604364Z         "unit"
2026-06-17T00:59:16.2604464Z       ],
2026-06-17T00:59:16.2604566Z       "stages": {
2026-06-17T00:59:16.2604665Z         "doc": {
2026-06-17T00:59:16.2604778Z           "complete": false,
2026-06-17T00:59:16.2604902Z           "evidence": []
2026-06-17T00:59:16.2604996Z         },
2026-06-17T00:59:16.2605104Z         "impl": {
2026-06-17T00:59:16.2605219Z           "complete": true,
2026-06-17T00:59:16.2605320Z           "evidence": [
2026-06-17T00:59:16.2605423Z             {
2026-06-17T00:59:16.2605577Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2605696Z               "line": 577
2026-06-17T00:59:16.2605800Z             },
2026-06-17T00:59:16.2605897Z             {
2026-06-17T00:59:16.2606067Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2606169Z               "line": 22
2026-06-17T00:59:16.2606277Z             },
2026-06-17T00:59:16.2606377Z             {
2026-06-17T00:59:16.2606546Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2606640Z               "line": 76
2026-06-17T00:59:16.2606735Z             },
2026-06-17T00:59:16.2606836Z             {
2026-06-17T00:59:16.2606993Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2607098Z               "line": 127
2026-06-17T00:59:16.2607199Z             }
2026-06-17T00:59:16.2607297Z           ]
2026-06-17T00:59:16.2607398Z         },
2026-06-17T00:59:16.2607499Z         "int": {
2026-06-17T00:59:16.2607621Z           "complete": false,
2026-06-17T00:59:16.2607725Z           "evidence": []
2026-06-17T00:59:16.2607827Z         },
2026-06-17T00:59:16.2607931Z         "unit": {
2026-06-17T00:59:16.2608050Z           "complete": true,
2026-06-17T00:59:16.2608151Z           "evidence": [
2026-06-17T00:59:16.2608241Z             {
2026-06-17T00:59:16.2608399Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2608503Z               "line": 183
2026-06-17T00:59:16.2608603Z             },
2026-06-17T00:59:16.2608699Z             {
2026-06-17T00:59:16.2608856Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2609047Z               "line": 195
2026-06-17T00:59:16.2609147Z             },
2026-06-17T00:59:16.2609247Z             {
2026-06-17T00:59:16.2609391Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2609504Z               "line": 211
2026-06-17T00:59:16.2609590Z             },
2026-06-17T00:59:16.2609691Z             {
2026-06-17T00:59:16.2609838Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T00:59:16.2610052Z               "line": 227
2026-06-17T00:59:16.2610150Z             }
2026-06-17T00:59:16.2610254Z           ]
2026-06-17T00:59:16.2610355Z         }
2026-06-17T00:59:16.2610456Z       }
2026-06-17T00:59:16.2610560Z     },
2026-06-17T00:59:16.2610660Z     {
2026-06-17T00:59:16.2610770Z       "id": "REQ-PRES-1",
2026-06-17T00:59:16.2612171Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-17T00:59:16.2612376Z       "requiredStages": [
2026-06-17T00:59:16.2612482Z         "impl",
2026-06-17T00:59:16.2612583Z         "unit",
2026-06-17T00:59:16.2612691Z         "int"
2026-06-17T00:59:16.2612795Z       ],
2026-06-17T00:59:16.2612900Z       "stages": {
2026-06-17T00:59:16.2613003Z         "doc": {
2026-06-17T00:59:16.2613112Z           "complete": true,
2026-06-17T00:59:16.2613222Z           "evidence": [
2026-06-17T00:59:16.2613318Z             {
2026-06-17T00:59:16.2613445Z               "path": "docs/DEFERRED.md",
2026-06-17T00:59:16.2613552Z               "line": 11
2026-06-17T00:59:16.2613651Z             }
2026-06-17T00:59:16.2613755Z           ]
2026-06-17T00:59:16.2613857Z         },
2026-06-17T00:59:16.2613966Z         "impl": {
2026-06-17T00:59:16.2614075Z           "complete": true,
2026-06-17T00:59:16.2614191Z           "evidence": [
2026-06-17T00:59:16.2614295Z             {
2026-06-17T00:59:16.2614462Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2614572Z               "line": 515
2026-06-17T00:59:16.2614661Z             },
2026-06-17T00:59:16.2614757Z             {
2026-06-17T00:59:16.2614906Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2615015Z               "line": 567
2026-06-17T00:59:16.2615121Z             },
2026-06-17T00:59:16.2615221Z             {
2026-06-17T00:59:16.2615366Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2615476Z               "line": 188
2026-06-17T00:59:16.2615584Z             },
2026-06-17T00:59:16.2615678Z             {
2026-06-17T00:59:16.2615822Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2615918Z               "line": 214
2026-06-17T00:59:16.2616012Z             },
2026-06-17T00:59:16.2616113Z             {
2026-06-17T00:59:16.2616256Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2616351Z               "line": 28
2026-06-17T00:59:16.2616457Z             },
2026-06-17T00:59:16.2616576Z             {
2026-06-17T00:59:16.2616719Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2616829Z               "line": 105
2026-06-17T00:59:16.2616937Z             },
2026-06-17T00:59:16.2617038Z             {
2026-06-17T00:59:16.2617185Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2617290Z               "line": 161
2026-06-17T00:59:16.2617391Z             },
2026-06-17T00:59:16.2617500Z             {
2026-06-17T00:59:16.2617644Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2617745Z               "line": 180
2026-06-17T00:59:16.2617848Z             },
2026-06-17T00:59:16.2617939Z             {
2026-06-17T00:59:16.2618102Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2618200Z               "line": 415
2026-06-17T00:59:16.2618305Z             },
2026-06-17T00:59:16.2618406Z             {
2026-06-17T00:59:16.2618562Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2618672Z               "line": 289
2026-06-17T00:59:16.2618773Z             },
2026-06-17T00:59:16.2618872Z             {
2026-06-17T00:59:16.2619168Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2619283Z               "line": 336
2026-06-17T00:59:16.2619378Z             },
2026-06-17T00:59:16.2619492Z             {
2026-06-17T00:59:16.2619632Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2619730Z               "line": 362
2026-06-17T00:59:16.2619831Z             },
2026-06-17T00:59:16.2619927Z             {
2026-06-17T00:59:16.2620073Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2620179Z               "line": 100
2026-06-17T00:59:16.2620285Z             }
2026-06-17T00:59:16.2620492Z           ]
2026-06-17T00:59:16.2620593Z         },
2026-06-17T00:59:16.2620696Z         "int": {
2026-06-17T00:59:16.2620800Z           "complete": true,
2026-06-17T00:59:16.2620910Z           "evidence": [
2026-06-17T00:59:16.2621011Z             {
2026-06-17T00:59:16.2621167Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2621268Z               "line": 559
2026-06-17T00:59:16.2621377Z             },
2026-06-17T00:59:16.2621481Z             {
2026-06-17T00:59:16.2621625Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2621744Z               "line": 745
2026-06-17T00:59:16.2621845Z             },
2026-06-17T00:59:16.2621940Z             {
2026-06-17T00:59:16.2622087Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2622189Z               "line": 1163
2026-06-17T00:59:16.2622293Z             }
2026-06-17T00:59:16.2622393Z           ]
2026-06-17T00:59:16.2622494Z         },
2026-06-17T00:59:16.2622593Z         "unit": {
2026-06-17T00:59:16.2622712Z           "complete": true,
2026-06-17T00:59:16.2622823Z           "evidence": [
2026-06-17T00:59:16.2622927Z             {
2026-06-17T00:59:16.2623070Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.2623176Z               "line": 674
2026-06-17T00:59:16.2623274Z             },
2026-06-17T00:59:16.2623373Z             {
2026-06-17T00:59:16.2623526Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2623634Z               "line": 238
2026-06-17T00:59:16.2623734Z             },
2026-06-17T00:59:16.2623835Z             {
2026-06-17T00:59:16.2623977Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2624097Z               "line": 269
2026-06-17T00:59:16.2624197Z             },
2026-06-17T00:59:16.2624301Z             {
2026-06-17T00:59:16.2624446Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2624545Z               "line": 305
2026-06-17T00:59:16.2624649Z             },
2026-06-17T00:59:16.2624746Z             {
2026-06-17T00:59:16.2624893Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T00:59:16.2624998Z               "line": 336
2026-06-17T00:59:16.2625103Z             },
2026-06-17T00:59:16.2625207Z             {
2026-06-17T00:59:16.2625356Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2625470Z               "line": 1165
2026-06-17T00:59:16.2625565Z             },
2026-06-17T00:59:16.2625671Z             {
2026-06-17T00:59:16.2625809Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2625917Z               "line": 1131
2026-06-17T00:59:16.2626022Z             }
2026-06-17T00:59:16.2626126Z           ]
2026-06-17T00:59:16.2626224Z         }
2026-06-17T00:59:16.2626325Z       }
2026-06-17T00:59:16.2626421Z     },
2026-06-17T00:59:16.2626521Z     {
2026-06-17T00:59:16.2626634Z       "id": "REQ-RC-1",
2026-06-17T00:59:16.2628713Z       "title": "`spt rc <id>` — user CLI attaching a local terminal to a broker-held PTY, reusing the cross-node attach machinery (attach.rs request_attach → send_attach_input pump, spt-net AttachRecord codec); local attach is the degenerate single-node case of the cross-node path (rides REQ-TERM-3 byte-stream streaming). Read-only `--view` (watch, no stdin forwarded). Clean detach that does NOT terminate the broker-held session (KNOWN-HAZARDS: PTY ownership stays with the broker; no termination on detach). Explicit detach keybind that cannot collide with harness passthrough input (legacy capsule used a ctrl-b prefix); documented. ConPTY DSR auto-answer in the attach reader (hazard 5.5).",
2026-06-17T00:59:16.2629047Z       "requiredStages": [
2026-06-17T00:59:16.2629146Z         "impl",
2026-06-17T00:59:16.2629242Z         "unit",
2026-06-17T00:59:16.2629348Z         "int"
2026-06-17T00:59:16.2629456Z       ],
2026-06-17T00:59:16.2629557Z       "stages": {
2026-06-17T00:59:16.2629662Z         "doc": {
2026-06-17T00:59:16.2629775Z           "complete": false,
2026-06-17T00:59:16.2629985Z           "evidence": []
2026-06-17T00:59:16.2630095Z         },
2026-06-17T00:59:16.2630191Z         "impl": {
2026-06-17T00:59:16.2630296Z           "complete": true,
2026-06-17T00:59:16.2630405Z           "evidence": [
2026-06-17T00:59:16.2630506Z             {
2026-06-17T00:59:16.2630648Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.2630754Z               "line": 895
2026-06-17T00:59:16.2630855Z             },
2026-06-17T00:59:16.2630958Z             {
2026-06-17T00:59:16.2631100Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.2631201Z               "line": 1168
2026-06-17T00:59:16.2631303Z             },
2026-06-17T00:59:16.2631403Z             {
2026-06-17T00:59:16.2631542Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2631646Z               "line": 890
2026-06-17T00:59:16.2631751Z             },
2026-06-17T00:59:16.2631857Z             {
2026-06-17T00:59:16.2631994Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2632110Z               "line": 924
2026-06-17T00:59:16.2632214Z             },
2026-06-17T00:59:16.2632314Z             {
2026-06-17T00:59:16.2632444Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2632543Z               "line": 22
2026-06-17T00:59:16.2632647Z             },
2026-06-17T00:59:16.2632749Z             {
2026-06-17T00:59:16.2632882Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2632986Z               "line": 181
2026-06-17T00:59:16.2633088Z             }
2026-06-17T00:59:16.2633186Z           ]
2026-06-17T00:59:16.2633287Z         },
2026-06-17T00:59:16.2633388Z         "int": {
2026-06-17T00:59:16.2633491Z           "complete": true,
2026-06-17T00:59:16.2633597Z           "evidence": [
2026-06-17T00:59:16.2633698Z             {
2026-06-17T00:59:16.2633839Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2633953Z               "line": 252
2026-06-17T00:59:16.2634049Z             },
2026-06-17T00:59:16.2634147Z             {
2026-06-17T00:59:16.2634294Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2634405Z               "line": 279
2026-06-17T00:59:16.2634504Z             },
2026-06-17T00:59:16.2634599Z             {
2026-06-17T00:59:16.2634743Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2634847Z               "line": 404
2026-06-17T00:59:16.2634953Z             }
2026-06-17T00:59:16.2635053Z           ]
2026-06-17T00:59:16.2635157Z         },
2026-06-17T00:59:16.2635263Z         "unit": {
2026-06-17T00:59:16.2635372Z           "complete": true,
2026-06-17T00:59:16.2635486Z           "evidence": [
2026-06-17T00:59:16.2635577Z             {
2026-06-17T00:59:16.2635720Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2635830Z               "line": 1245
2026-06-17T00:59:16.2635936Z             },
2026-06-17T00:59:16.2636040Z             {
2026-06-17T00:59:16.2636159Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2636270Z               "line": 421
2026-06-17T00:59:16.2636373Z             },
2026-06-17T00:59:16.2636472Z             {
2026-06-17T00:59:16.2636597Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2636700Z               "line": 450
2026-06-17T00:59:16.2636803Z             },
2026-06-17T00:59:16.2637000Z             {
2026-06-17T00:59:16.2637123Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2637224Z               "line": 463
2026-06-17T00:59:16.2637324Z             }
2026-06-17T00:59:16.2637424Z           ]
2026-06-17T00:59:16.2637529Z         }
2026-06-17T00:59:16.2637629Z       }
2026-06-17T00:59:16.2637733Z     },
2026-06-17T00:59:16.2637834Z     {
2026-06-17T00:59:16.2637949Z       "id": "REQ-RCVIEW-1",
2026-06-17T00:59:16.2642578Z       "title": "Remote-attach controller/viewer model (CONTEXT.md:317): a session's broker OutputLog serves ONE interactive controller (input + EXCLUSIVE PTY resize; its viewport sets the size, sent on attach + every window change via crossterm Event::Resize) plus ANY NUMBER of read-only `--view` attachers (output-only, no input, no resize; client-side letterbox — center+pad when larger, clip+1-line indicator when smaller; only the local ctrl-b d detach chord). Attach intent is three-valued (`Viewer | Control | Take`, wire-default Control): Control to a FREE endpoint becomes controller, Control to a CONTROLLED endpoint is REFUSED with guidance (`--view`/`--take`) — never auto-viewer, never silent-displace. Wire adds (additive, N-1 skip-unknown): `Request.intent`, `Resize{rows,cols}` (controller-only), `Size{rows,cols}` (→viewer), `Displaced{by}` (→displaced controller). The brain-resume cursor (delivered_through, ADR-0018) tracks the CONTROLLER ONLY; viewers replay from their own from_seq and never move it. Dormancy keys on the controller ONLY: controller attach wakes / controller detach goes dormant (even with viewers present); viewer attach/detach is wake-neutral and may watch a dormant endpoint as-is. v1: viewing is gated identically to driving — a viewer runs the same access_check(Unsolicited) as a controller (watching reveals full session contents = a real disclosure); a lighter distinct watch-gate is deferred to cross-subnet/finer-consent (CONTEXT.md:317 'driving ≠ watching' = the future seam).",
2026-06-17T00:59:16.2642845Z       "requiredStages": [
2026-06-17T00:59:16.2642951Z         "doc",
2026-06-17T00:59:16.2643051Z         "impl",
2026-06-17T00:59:16.2643146Z         "unit",
2026-06-17T00:59:16.2643255Z         "int"
2026-06-17T00:59:16.2643352Z       ],
2026-06-17T00:59:16.2643452Z       "stages": {
2026-06-17T00:59:16.2643561Z         "doc": {
2026-06-17T00:59:16.2643667Z           "complete": true,
2026-06-17T00:59:16.2643770Z           "evidence": [
2026-06-17T00:59:16.2643871Z             {
2026-06-17T00:59:16.2643986Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2644089Z               "line": 330
2026-06-17T00:59:16.2644191Z             }
2026-06-17T00:59:16.2644297Z           ]
2026-06-17T00:59:16.2644390Z         },
2026-06-17T00:59:16.2644499Z         "impl": {
2026-06-17T00:59:16.2644614Z           "complete": true,
2026-06-17T00:59:16.2644717Z           "evidence": [
2026-06-17T00:59:16.2644816Z             {
2026-06-17T00:59:16.2644969Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T00:59:16.2645069Z               "line": 323
2026-06-17T00:59:16.2645164Z             },
2026-06-17T00:59:16.2645265Z             {
2026-06-17T00:59:16.2645407Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.2645518Z               "line": 430
2026-06-17T00:59:16.2645617Z             },
2026-06-17T00:59:16.2645717Z             {
2026-06-17T00:59:16.2645861Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.2645960Z               "line": 441
2026-06-17T00:59:16.2646061Z             },
2026-06-17T00:59:16.2646162Z             {
2026-06-17T00:59:16.2646304Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2646414Z               "line": 41
2026-06-17T00:59:16.2646510Z             },
2026-06-17T00:59:16.2646618Z             {
2026-06-17T00:59:16.2646757Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2646873Z               "line": 62
2026-06-17T00:59:16.2646971Z             },
2026-06-17T00:59:16.2647065Z             {
2026-06-17T00:59:16.2647321Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2647435Z               "line": 286
2026-06-17T00:59:16.2647536Z             },
2026-06-17T00:59:16.2647636Z             {
2026-06-17T00:59:16.2647764Z               "path": "crates/spt/src/rc.rs",
2026-06-17T00:59:16.2647870Z               "line": 181
2026-06-17T00:59:16.2647969Z             }
2026-06-17T00:59:16.2648070Z           ]
2026-06-17T00:59:16.2648170Z         },
2026-06-17T00:59:16.2648270Z         "int": {
2026-06-17T00:59:16.2648375Z           "complete": true,
2026-06-17T00:59:16.2648480Z           "evidence": [
2026-06-17T00:59:16.2648661Z             {
2026-06-17T00:59:16.2648804Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2648904Z               "line": 789
2026-06-17T00:59:16.2649082Z             },
2026-06-17T00:59:16.2649190Z             {
2026-06-17T00:59:16.2649329Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2649439Z               "line": 829
2026-06-17T00:59:16.2649543Z             },
2026-06-17T00:59:16.2649644Z             {
2026-06-17T00:59:16.2649787Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2649890Z               "line": 876
2026-06-17T00:59:16.2649995Z             },
2026-06-17T00:59:16.2650096Z             {
2026-06-17T00:59:16.2650242Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2650348Z               "line": 988
2026-06-17T00:59:16.2650448Z             }
2026-06-17T00:59:16.2650548Z           ]
2026-06-17T00:59:16.2650654Z         },
2026-06-17T00:59:16.2650763Z         "unit": {
2026-06-17T00:59:16.2650863Z           "complete": true,
2026-06-17T00:59:16.2650973Z           "evidence": [
2026-06-17T00:59:16.2651073Z             {
2026-06-17T00:59:16.2651220Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2651317Z               "line": 175
2026-06-17T00:59:16.2651421Z             },
2026-06-17T00:59:16.2651535Z             {
2026-06-17T00:59:16.2651674Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T00:59:16.2651787Z               "line": 195
2026-06-17T00:59:16.2651888Z             }
2026-06-17T00:59:16.2651994Z           ]
2026-06-17T00:59:16.2652097Z         }
2026-06-17T00:59:16.2652197Z       }
2026-06-17T00:59:16.2652297Z     },
2026-06-17T00:59:16.2652400Z     {
2026-06-17T00:59:16.2652509Z       "id": "REQ-REACH-1",
2026-06-17T00:59:16.2652687Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-17T00:59:16.2652809Z       "requiredStages": [
2026-06-17T00:59:16.2652910Z         "impl",
2026-06-17T00:59:16.2653020Z         "unit",
2026-06-17T00:59:16.2653114Z         "int"
2026-06-17T00:59:16.2653221Z       ],
2026-06-17T00:59:16.2653325Z       "stages": {
2026-06-17T00:59:16.2653424Z         "doc": {
2026-06-17T00:59:16.2653540Z           "complete": false,
2026-06-17T00:59:16.2653640Z           "evidence": []
2026-06-17T00:59:16.2653739Z         },
2026-06-17T00:59:16.2653845Z         "impl": {
2026-06-17T00:59:16.2653959Z           "complete": true,
2026-06-17T00:59:16.2654073Z           "evidence": [
2026-06-17T00:59:16.2654175Z             {
2026-06-17T00:59:16.2654325Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.2654436Z               "line": 430
2026-06-17T00:59:16.2654532Z             },
2026-06-17T00:59:16.2654640Z             {
2026-06-17T00:59:16.2654780Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2654899Z               "line": 76
2026-06-17T00:59:16.2655002Z             },
2026-06-17T00:59:16.2655121Z             {
2026-06-17T00:59:16.2655249Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2655357Z               "line": 222
2026-06-17T00:59:16.2655458Z             },
2026-06-17T00:59:16.2655553Z             {
2026-06-17T00:59:16.2655700Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2655797Z               "line": 422
2026-06-17T00:59:16.2656005Z             },
2026-06-17T00:59:16.2656102Z             {
2026-06-17T00:59:16.2656245Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2656354Z               "line": 529
2026-06-17T00:59:16.2656455Z             },
2026-06-17T00:59:16.2656564Z             {
2026-06-17T00:59:16.2656702Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T00:59:16.2656812Z               "line": 39
2026-06-17T00:59:16.2656907Z             },
2026-06-17T00:59:16.2657007Z             {
2026-06-17T00:59:16.2657151Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2657361Z               "line": 278
2026-06-17T00:59:16.2657466Z             },
2026-06-17T00:59:16.2657569Z             {
2026-06-17T00:59:16.2657707Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T00:59:16.2657820Z               "line": 88
2026-06-17T00:59:16.2657914Z             },
2026-06-17T00:59:16.2658010Z             {
2026-06-17T00:59:16.2658135Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T00:59:16.2658243Z               "line": 98
2026-06-17T00:59:16.2658344Z             },
2026-06-17T00:59:16.2658444Z             {
2026-06-17T00:59:16.2658591Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2658693Z               "line": 229
2026-06-17T00:59:16.2658797Z             }
2026-06-17T00:59:16.2658901Z           ]
2026-06-17T00:59:16.2659078Z         },
2026-06-17T00:59:16.2659182Z         "int": {
2026-06-17T00:59:16.2659303Z           "complete": true,
2026-06-17T00:59:16.2659421Z           "evidence": [
2026-06-17T00:59:16.2659521Z             {
2026-06-17T00:59:16.2659675Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2659779Z               "line": 415
2026-06-17T00:59:16.2659879Z             },
2026-06-17T00:59:16.2659985Z             {
2026-06-17T00:59:16.2660127Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2660242Z               "line": 516
2026-06-17T00:59:16.2660347Z             },
2026-06-17T00:59:16.2660451Z             {
2026-06-17T00:59:16.2660599Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2660704Z               "line": 996
2026-06-17T00:59:16.2660807Z             },
2026-06-17T00:59:16.2660918Z             {
2026-06-17T00:59:16.2661051Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2661155Z               "line": 1381
2026-06-17T00:59:16.2661257Z             }
2026-06-17T00:59:16.2661357Z           ]
2026-06-17T00:59:16.2661465Z         },
2026-06-17T00:59:16.2661562Z         "unit": {
2026-06-17T00:59:16.2661680Z           "complete": true,
2026-06-17T00:59:16.2661794Z           "evidence": [
2026-06-17T00:59:16.2661896Z             {
2026-06-17T00:59:16.2662038Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2662139Z               "line": 639
2026-06-17T00:59:16.2662244Z             },
2026-06-17T00:59:16.2662347Z             {
2026-06-17T00:59:16.2662492Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T00:59:16.2662605Z               "line": 660
2026-06-17T00:59:16.2662709Z             },
2026-06-17T00:59:16.2662809Z             {
2026-06-17T00:59:16.2662960Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T00:59:16.2663069Z               "line": 646
2026-06-17T00:59:16.2663174Z             },
2026-06-17T00:59:16.2663279Z             {
2026-06-17T00:59:16.2663427Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T00:59:16.2663538Z               "line": 93
2026-06-17T00:59:16.2663642Z             },
2026-06-17T00:59:16.2663746Z             {
2026-06-17T00:59:16.2663894Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T00:59:16.2664003Z               "line": 224
2026-06-17T00:59:16.2664105Z             },
2026-06-17T00:59:16.2664209Z             {
2026-06-17T00:59:16.2664347Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T00:59:16.2664453Z               "line": 96
2026-06-17T00:59:16.2664642Z             },
2026-06-17T00:59:16.2664744Z             {
2026-06-17T00:59:16.2664886Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T00:59:16.2664991Z               "line": 146
2026-06-17T00:59:16.2665102Z             },
2026-06-17T00:59:16.2665201Z             {
2026-06-17T00:59:16.2665335Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.2665441Z               "line": 641
2026-06-17T00:59:16.2665543Z             },
2026-06-17T00:59:16.2665648Z             {
2026-06-17T00:59:16.2665781Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T00:59:16.2665994Z               "line": 118
2026-06-17T00:59:16.2666095Z             },
2026-06-17T00:59:16.2666199Z             {
2026-06-17T00:59:16.2666333Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T00:59:16.2666447Z               "line": 148
2026-06-17T00:59:16.2666546Z             },
2026-06-17T00:59:16.2666643Z             {
2026-06-17T00:59:16.2666791Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2666899Z               "line": 924
2026-06-17T00:59:16.2667005Z             }
2026-06-17T00:59:16.2667104Z           ]
2026-06-17T00:59:16.2667205Z         }
2026-06-17T00:59:16.2667311Z       }
2026-06-17T00:59:16.2667410Z     },
2026-06-17T00:59:16.2667514Z     {
2026-06-17T00:59:16.2667625Z       "id": "REQ-REACH-2",
2026-06-17T00:59:16.2667815Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-17T00:59:16.2667931Z       "requiredStages": [],
2026-06-17T00:59:16.2668031Z       "stages": {
2026-06-17T00:59:16.2668139Z         "doc": {
2026-06-17T00:59:16.2668253Z           "complete": false,
2026-06-17T00:59:16.2668362Z           "evidence": []
2026-06-17T00:59:16.2668465Z         },
2026-06-17T00:59:16.2668570Z         "impl": {
2026-06-17T00:59:16.2668686Z           "complete": false,
2026-06-17T00:59:16.2668808Z           "evidence": []
2026-06-17T00:59:16.2668909Z         },
2026-06-17T00:59:16.2669099Z         "int": {
2026-06-17T00:59:16.2669209Z           "complete": false,
2026-06-17T00:59:16.2669314Z           "evidence": []
2026-06-17T00:59:16.2669428Z         },
2026-06-17T00:59:16.2669529Z         "unit": {
2026-06-17T00:59:16.2669647Z           "complete": false,
2026-06-17T00:59:16.2669762Z           "evidence": []
2026-06-17T00:59:16.2669863Z         }
2026-06-17T00:59:16.2669962Z       }
2026-06-17T00:59:16.2670057Z     },
2026-06-17T00:59:16.2670159Z     {
2026-06-17T00:59:16.2670272Z       "id": "REQ-REL-1",
2026-06-17T00:59:16.2670692Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-17T00:59:16.2670822Z       "requiredStages": [
2026-06-17T00:59:16.2670925Z         "doc",
2026-06-17T00:59:16.2671030Z         "impl"
2026-06-17T00:59:16.2671125Z       ],
2026-06-17T00:59:16.2671231Z       "stages": {
2026-06-17T00:59:16.2671330Z         "doc": {
2026-06-17T00:59:16.2671449Z           "complete": true,
2026-06-17T00:59:16.2671559Z           "evidence": [
2026-06-17T00:59:16.2671663Z             {
2026-06-17T00:59:16.2671907Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-17T00:59:16.2672012Z               "line": 3
2026-06-17T00:59:16.2672113Z             }
2026-06-17T00:59:16.2672217Z           ]
2026-06-17T00:59:16.2672326Z         },
2026-06-17T00:59:16.2672423Z         "impl": {
2026-06-17T00:59:16.2672531Z           "complete": true,
2026-06-17T00:59:16.2672646Z           "evidence": [
2026-06-17T00:59:16.2672743Z             {
2026-06-17T00:59:16.2672908Z               "path": ".github/workflows/docs-publish.yml",
2026-06-17T00:59:16.2673008Z               "line": 11
2026-06-17T00:59:16.2673109Z             },
2026-06-17T00:59:16.2673199Z             {
2026-06-17T00:59:16.2673331Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2673436Z               "line": 265
2026-06-17T00:59:16.2673539Z             }
2026-06-17T00:59:16.2673739Z           ]
2026-06-17T00:59:16.2673839Z         },
2026-06-17T00:59:16.2673934Z         "int": {
2026-06-17T00:59:16.2674059Z           "complete": false,
2026-06-17T00:59:16.2674159Z           "evidence": []
2026-06-17T00:59:16.2674268Z         },
2026-06-17T00:59:16.2674365Z         "unit": {
2026-06-17T00:59:16.2674483Z           "complete": false,
2026-06-17T00:59:16.2674587Z           "evidence": []
2026-06-17T00:59:16.2674689Z         }
2026-06-17T00:59:16.2674793Z       }
2026-06-17T00:59:16.2674893Z     },
2026-06-17T00:59:16.2674995Z     {
2026-06-17T00:59:16.2675094Z       "id": "REQ-REL-2",
2026-06-17T00:59:16.2675723Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-17T00:59:16.2675833Z       "requiredStages": [
2026-06-17T00:59:16.2675944Z         "impl",
2026-06-17T00:59:16.2676052Z         "int"
2026-06-17T00:59:16.2676156Z       ],
2026-06-17T00:59:16.2676271Z       "stages": {
2026-06-17T00:59:16.2676369Z         "doc": {
2026-06-17T00:59:16.2676487Z           "complete": true,
2026-06-17T00:59:16.2676588Z           "evidence": [
2026-06-17T00:59:16.2676693Z             {
2026-06-17T00:59:16.2676835Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-17T00:59:16.2676936Z               "line": 6
2026-06-17T00:59:16.2677036Z             }
2026-06-17T00:59:16.2677140Z           ]
2026-06-17T00:59:16.2677241Z         },
2026-06-17T00:59:16.2677346Z         "impl": {
2026-06-17T00:59:16.2677464Z           "complete": true,
2026-06-17T00:59:16.2677575Z           "evidence": [
2026-06-17T00:59:16.2677679Z             {
2026-06-17T00:59:16.2677822Z               "path": ".github/workflows/release.yml",
2026-06-17T00:59:16.2677928Z               "line": 16
2026-06-17T00:59:16.2678032Z             },
2026-06-17T00:59:16.2678137Z             {
2026-06-17T00:59:16.2678267Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2678376Z               "line": 352
2026-06-17T00:59:16.2678477Z             },
2026-06-17T00:59:16.2678582Z             {
2026-06-17T00:59:16.2678703Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2678818Z               "line": 426
2026-06-17T00:59:16.2678908Z             },
2026-06-17T00:59:16.2679091Z             {
2026-06-17T00:59:16.2679221Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2679330Z               "line": 588
2026-06-17T00:59:16.2679445Z             },
2026-06-17T00:59:16.2679545Z             {
2026-06-17T00:59:16.2679678Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2679799Z               "line": 720
2026-06-17T00:59:16.2679898Z             }
2026-06-17T00:59:16.2679997Z           ]
2026-06-17T00:59:16.2680094Z         },
2026-06-17T00:59:16.2680194Z         "int": {
2026-06-17T00:59:16.2680298Z           "complete": true,
2026-06-17T00:59:16.2680409Z           "evidence": [
2026-06-17T00:59:16.2680513Z             {
2026-06-17T00:59:16.2680661Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-17T00:59:16.2680762Z               "line": 13
2026-06-17T00:59:16.2680865Z             }
2026-06-17T00:59:16.2680966Z           ]
2026-06-17T00:59:16.2681067Z         },
2026-06-17T00:59:16.2681180Z         "unit": {
2026-06-17T00:59:16.2681300Z           "complete": false,
2026-06-17T00:59:16.2681396Z           "evidence": []
2026-06-17T00:59:16.2681495Z         }
2026-06-17T00:59:16.2681595Z       }
2026-06-17T00:59:16.2681699Z     },
2026-06-17T00:59:16.2681801Z     {
2026-06-17T00:59:16.2681914Z       "id": "REQ-REL-3",
2026-06-17T00:59:16.2682396Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-17T00:59:16.2682519Z       "requiredStages": [
2026-06-17T00:59:16.2682615Z         "impl",
2026-06-17T00:59:16.2682720Z         "unit"
2026-06-17T00:59:16.2682934Z       ],
2026-06-17T00:59:16.2683045Z       "stages": {
2026-06-17T00:59:16.2683149Z         "doc": {
2026-06-17T00:59:16.2683264Z           "complete": false,
2026-06-17T00:59:16.2683369Z           "evidence": []
2026-06-17T00:59:16.2683473Z         },
2026-06-17T00:59:16.2683573Z         "impl": {
2026-06-17T00:59:16.2683693Z           "complete": true,
2026-06-17T00:59:16.2683797Z           "evidence": [
2026-06-17T00:59:16.2683901Z             {
2026-06-17T00:59:16.2684048Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.2684156Z               "line": 237
2026-06-17T00:59:16.2684252Z             },
2026-06-17T00:59:16.2684452Z             {
2026-06-17T00:59:16.2684595Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.2684696Z               "line": 289
2026-06-17T00:59:16.2684805Z             },
2026-06-17T00:59:16.2684911Z             {
2026-06-17T00:59:16.2685029Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2687695Z               "line": 329
2026-06-17T00:59:16.2687840Z             },
2026-06-17T00:59:16.2687949Z             {
2026-06-17T00:59:16.2688097Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2688216Z               "line": 353
2026-06-17T00:59:16.2688316Z             },
2026-06-17T00:59:16.2688412Z             {
2026-06-17T00:59:16.2688540Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.2688649Z               "line": 394
2026-06-17T00:59:16.2688751Z             }
2026-06-17T00:59:16.2688850Z           ]
2026-06-17T00:59:16.2689027Z         },
2026-06-17T00:59:16.2689132Z         "int": {
2026-06-17T00:59:16.2689254Z           "complete": false,
2026-06-17T00:59:16.2689373Z           "evidence": []
2026-06-17T00:59:16.2689477Z         },
2026-06-17T00:59:16.2689580Z         "unit": {
2026-06-17T00:59:16.2689691Z           "complete": true,
2026-06-17T00:59:16.2689796Z           "evidence": [
2026-06-17T00:59:16.2689895Z             {
2026-06-17T00:59:16.2690044Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.2690163Z               "line": 1045
2026-06-17T00:59:16.2690262Z             },
2026-06-17T00:59:16.2690368Z             {
2026-06-17T00:59:16.2690502Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.2690611Z               "line": 1104
2026-06-17T00:59:16.2690716Z             }
2026-06-17T00:59:16.2690821Z           ]
2026-06-17T00:59:16.2690926Z         }
2026-06-17T00:59:16.2691022Z       }
2026-06-17T00:59:16.2691126Z     },
2026-06-17T00:59:16.2691226Z     {
2026-06-17T00:59:16.2691351Z       "id": "REQ-RUN-PICKER",
2026-06-17T00:59:16.2696314Z       "title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) enters an in-process picker (flags-present = the REQ-HOST-RUN-1 non-interactive path, untouched). Layer 1 picks kind (Create new | Pick existing). Create-new: choose a registered kind=\"harness\" adapter with its shipped+local profiles tree-nested (registry::registered / manifest.profiles / local_profile_names) → enter a charset-validated id → start. Pick-existing: category select (left/right) over [<cwd-project> | Local node | Subnet], endpoints grouped + alphabetically sorted per category, a status square per endpoint (online green ■ / offline gray ▢ — the blue \"attached\" tri-state + Kick are DEFERRED to a broker attach-presence slice, M12-W2-RULING Q1), type-to-filter (`/`, nucleo-matcher), a pinned keybind legend, and a right-half two-pane description (harness adapter:profile · best-effort project history newest→oldest from the contextstore p-<project> branches, empty-if-none · `spt endpoint description`). Confirm layer offers status-dependent options — Attach/Start/View (rc pump / cmd_endpoint_run) · Instantiate-locally (remote) · Change-harness-adapter (offline) · Fork (cmd_fork) · Resume-from-history (offline+LOCAL only; enumerate spt_store::sessions::last_k, titles `<project> @ <ts> (…id5)`, feed session_id → cmd_endpoint_run --resume). A single action enum is the source of truth so a future tap-mode (phone PTY) layers on without re-coupling to keybinds. EVERY terminal action routes through cmd_endpoint_run / existing CLI fns — no second bringup path.",
2026-06-17T00:59:16.2696648Z       "requiredStages": [
2026-06-17T00:59:16.2696773Z         "doc",
2026-06-17T00:59:16.2696876Z         "impl",
2026-06-17T00:59:16.2696977Z         "unit"
2026-06-17T00:59:16.2697074Z       ],
2026-06-17T00:59:16.2697177Z       "stages": {
2026-06-17T00:59:16.2697304Z         "doc": {
2026-06-17T00:59:16.2697433Z           "complete": true,
2026-06-17T00:59:16.2697555Z           "evidence": [
2026-06-17T00:59:16.2697756Z             {
2026-06-17T00:59:16.2697879Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2697989Z               "line": 334
2026-06-17T00:59:16.2698095Z             }
2026-06-17T00:59:16.2698194Z           ]
2026-06-17T00:59:16.2698294Z         },
2026-06-17T00:59:16.2698395Z         "impl": {
2026-06-17T00:59:16.2698504Z           "complete": true,
2026-06-17T00:59:16.2698624Z           "evidence": [
2026-06-17T00:59:16.2698729Z             {
2026-06-17T00:59:16.2698852Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2699053Z               "line": 922
2026-06-17T00:59:16.2699152Z             },
2026-06-17T00:59:16.2699258Z             {
2026-06-17T00:59:16.2699387Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2699510Z               "line": 932
2026-06-17T00:59:16.2699611Z             },
2026-06-17T00:59:16.2699711Z             {
2026-06-17T00:59:16.2699852Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T00:59:16.2699953Z               "line": 9
2026-06-17T00:59:16.2700051Z             },
2026-06-17T00:59:16.2700150Z             {
2026-06-17T00:59:16.2700298Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T00:59:16.2700399Z               "line": 67
2026-06-17T00:59:16.2700503Z             },
2026-06-17T00:59:16.2700599Z             {
2026-06-17T00:59:16.2700737Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-17T00:59:16.2700856Z               "line": 16
2026-06-17T00:59:16.2700952Z             },
2026-06-17T00:59:16.2701047Z             {
2026-06-17T00:59:16.2701195Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-17T00:59:16.2701295Z               "line": 249
2026-06-17T00:59:16.2701400Z             },
2026-06-17T00:59:16.2701500Z             {
2026-06-17T00:59:16.2701648Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2701752Z               "line": 11
2026-06-17T00:59:16.2701859Z             },
2026-06-17T00:59:16.2701958Z             {
2026-06-17T00:59:16.2702100Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2702207Z               "line": 85
2026-06-17T00:59:16.2702310Z             },
2026-06-17T00:59:16.2702415Z             {
2026-06-17T00:59:16.2702545Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2702644Z               "line": 452
2026-06-17T00:59:16.2702748Z             },
2026-06-17T00:59:16.2702853Z             {
2026-06-17T00:59:16.2702996Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2703100Z               "line": 533
2026-06-17T00:59:16.2703207Z             },
2026-06-17T00:59:16.2703306Z             {
2026-06-17T00:59:16.2703440Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2703545Z               "line": 586
2026-06-17T00:59:16.2703649Z             },
2026-06-17T00:59:16.2703754Z             {
2026-06-17T00:59:16.2703883Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2703997Z               "line": 8
2026-06-17T00:59:16.2704103Z             }
2026-06-17T00:59:16.2704198Z           ]
2026-06-17T00:59:16.2704302Z         },
2026-06-17T00:59:16.2704404Z         "int": {
2026-06-17T00:59:16.2704522Z           "complete": false,
2026-06-17T00:59:16.2704631Z           "evidence": []
2026-06-17T00:59:16.2704733Z         },
2026-06-17T00:59:16.2704828Z         "unit": {
2026-06-17T00:59:16.2705045Z           "complete": true,
2026-06-17T00:59:16.2705164Z           "evidence": [
2026-06-17T00:59:16.2705253Z             {
2026-06-17T00:59:16.2705386Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2705502Z               "line": 6969
2026-06-17T00:59:16.2705605Z             },
2026-06-17T00:59:16.2705711Z             {
2026-06-17T00:59:16.2705840Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2705949Z               "line": 6980
2026-06-17T00:59:16.2706050Z             },
2026-06-17T00:59:16.2706150Z             {
2026-06-17T00:59:16.2706287Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2706488Z               "line": 737
2026-06-17T00:59:16.2706593Z             },
2026-06-17T00:59:16.2706694Z             {
2026-06-17T00:59:16.2706836Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2706936Z               "line": 744
2026-06-17T00:59:16.2707042Z             },
2026-06-17T00:59:16.2707146Z             {
2026-06-17T00:59:16.2707295Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2707394Z               "line": 761
2026-06-17T00:59:16.2707494Z             },
2026-06-17T00:59:16.2707595Z             {
2026-06-17T00:59:16.2707732Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2707832Z               "line": 781
2026-06-17T00:59:16.2707936Z             },
2026-06-17T00:59:16.2708040Z             {
2026-06-17T00:59:16.2708177Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2708282Z               "line": 795
2026-06-17T00:59:16.2708387Z             },
2026-06-17T00:59:16.2708487Z             {
2026-06-17T00:59:16.2708626Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2708726Z               "line": 804
2026-06-17T00:59:16.2708825Z             },
2026-06-17T00:59:16.2708922Z             {
2026-06-17T00:59:16.2709174Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2709270Z               "line": 815
2026-06-17T00:59:16.2709384Z             },
2026-06-17T00:59:16.2709483Z             {
2026-06-17T00:59:16.2709618Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2709727Z               "line": 837
2026-06-17T00:59:16.2709828Z             },
2026-06-17T00:59:16.2709928Z             {
2026-06-17T00:59:16.2710066Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2710167Z               "line": 856
2026-06-17T00:59:16.2710266Z             },
2026-06-17T00:59:16.2710360Z             {
2026-06-17T00:59:16.2710498Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2710621Z               "line": 893
2026-06-17T00:59:16.2710719Z             },
2026-06-17T00:59:16.2710815Z             {
2026-06-17T00:59:16.2710940Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2711053Z               "line": 922
2026-06-17T00:59:16.2711145Z             },
2026-06-17T00:59:16.2711254Z             {
2026-06-17T00:59:16.2711397Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2711503Z               "line": 935
2026-06-17T00:59:16.2711598Z             },
2026-06-17T00:59:16.2711697Z             {
2026-06-17T00:59:16.2711841Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2711951Z               "line": 979
2026-06-17T00:59:16.2712060Z             },
2026-06-17T00:59:16.2712170Z             {
2026-06-17T00:59:16.2712303Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2712419Z               "line": 1006
2026-06-17T00:59:16.2712522Z             },
2026-06-17T00:59:16.2712623Z             {
2026-06-17T00:59:16.2712767Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T00:59:16.2712870Z               "line": 1022
2026-06-17T00:59:16.2712966Z             },
2026-06-17T00:59:16.2713072Z             {
2026-06-17T00:59:16.2713208Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2713423Z               "line": 419
2026-06-17T00:59:16.2713533Z             },
2026-06-17T00:59:16.2713637Z             {
2026-06-17T00:59:16.2713776Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2713890Z               "line": 431
2026-06-17T00:59:16.2713990Z             },
2026-06-17T00:59:16.2714096Z             {
2026-06-17T00:59:16.2714228Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2714334Z               "line": 449
2026-06-17T00:59:16.2714443Z             },
2026-06-17T00:59:16.2714543Z             {
2026-06-17T00:59:16.2714682Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2714881Z               "line": 471
2026-06-17T00:59:16.2714983Z             },
2026-06-17T00:59:16.2715087Z             {
2026-06-17T00:59:16.2715230Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2715346Z               "line": 481
2026-06-17T00:59:16.2715430Z             },
2026-06-17T00:59:16.2715525Z             {
2026-06-17T00:59:16.2715667Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T00:59:16.2715780Z               "line": 504
2026-06-17T00:59:16.2715875Z             }
2026-06-17T00:59:16.2715975Z           ]
2026-06-17T00:59:16.2716080Z         }
2026-06-17T00:59:16.2716175Z       }
2026-06-17T00:59:16.2716275Z     },
2026-06-17T00:59:16.2716376Z     {
2026-06-17T00:59:16.2716499Z       "id": "REQ-RUN-SHORTCUT",
2026-06-17T00:59:16.2721361Z       "title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4): from any pre-start options set the picker writes/updates a `<basename>-<id>` launcher at the project root baking the current selection's non-interactive `spt endpoint run` flags (terminal actions only: adapter[:profile] + id + (create|resume) + (start|attach|view); Kick/Instantiate/Change-adapter/Fork are interactive-only, not bakeable). BASENAME IS A PARAMETER (operator rev. 2026-06-14): harness-agnostic spt-core defaults to `spt` (→ `spt-<id>`); an adapter/flow OVERRIDES it (spt-claude-code → `cc`), so spt-core NEVER bakes `cc` (a harness name) into itself. The basename must be a DISTINCT token, never bare `spt` (a `spt.cmd` would shadow the real `spt.exe` only under cmd.exe cwd-first search, silently no-op in PowerShell/Unix, and self-recurse). The script is the CURRENT OS's native form — `.cmd` on Windows (NOT `.ps1`: default PATHEXT excludes `.ps1` so a bare/ext-less name never resolves one; `.cmd` is PATHEXT-resolvable), POSIX `sh` (+chmod +x) on Unix (a single portable form can't be both). The generated header documents the invocation reality (cmd.exe bare `<name>` in the project dir / PowerShell `.\\<name>` / Unix `./<name>`; a truly-bare basename on PATH = a PATH-installed launcher, `/spt:setup`'s job). Overwrite is SENTINEL-guarded: the generator writes + checks a generated-by header marker — it overwrites its own prior output freely, but REFUSES + warns if a same-named file lacks the sentinel (never clobber a user file). Requires the additive `--create` flag on `Run{}` (the default-fresh made explicit; N-1-safe).",
2026-06-17T00:59:16.2721533Z       "requiredStages": [
2026-06-17T00:59:16.2721637Z         "doc",
2026-06-17T00:59:16.2721734Z         "impl",
2026-06-17T00:59:16.2721829Z         "unit"
2026-06-17T00:59:16.2721933Z       ],
2026-06-17T00:59:16.2722035Z       "stages": {
2026-06-17T00:59:16.2722139Z         "doc": {
2026-06-17T00:59:16.2722253Z           "complete": true,
2026-06-17T00:59:16.2722359Z           "evidence": [
2026-06-17T00:59:16.2722463Z             {
2026-06-17T00:59:16.2722581Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2722702Z               "line": 357
2026-06-17T00:59:16.2722811Z             }
2026-06-17T00:59:16.2722911Z           ]
2026-06-17T00:59:16.2723017Z         },
2026-06-17T00:59:16.2723120Z         "impl": {
2026-06-17T00:59:16.2723235Z           "complete": true,
2026-06-17T00:59:16.2723336Z           "evidence": [
2026-06-17T00:59:16.2723449Z             {
2026-06-17T00:59:16.2723603Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2723820Z               "line": 39
2026-06-17T00:59:16.2723916Z             },
2026-06-17T00:59:16.2724017Z             {
2026-06-17T00:59:16.2724163Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2724279Z               "line": 79
2026-06-17T00:59:16.2724384Z             },
2026-06-17T00:59:16.2724487Z             {
2026-06-17T00:59:16.2724622Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2724732Z               "line": 162
2026-06-17T00:59:16.2724831Z             }
2026-06-17T00:59:16.2725032Z           ]
2026-06-17T00:59:16.2725136Z         },
2026-06-17T00:59:16.2725238Z         "int": {
2026-06-17T00:59:16.2725351Z           "complete": false,
2026-06-17T00:59:16.2725460Z           "evidence": []
2026-06-17T00:59:16.2725567Z         },
2026-06-17T00:59:16.2725671Z         "unit": {
2026-06-17T00:59:16.2725790Z           "complete": true,
2026-06-17T00:59:16.2725886Z           "evidence": [
2026-06-17T00:59:16.2725990Z             {
2026-06-17T00:59:16.2726141Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2726251Z               "line": 206
2026-06-17T00:59:16.2726359Z             },
2026-06-17T00:59:16.2726458Z             {
2026-06-17T00:59:16.2726603Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2726706Z               "line": 222
2026-06-17T00:59:16.2726812Z             },
2026-06-17T00:59:16.2726912Z             {
2026-06-17T00:59:16.2727059Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2727175Z               "line": 238
2026-06-17T00:59:16.2727280Z             },
2026-06-17T00:59:16.2727383Z             {
2026-06-17T00:59:16.2727528Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2727637Z               "line": 251
2026-06-17T00:59:16.2727737Z             },
2026-06-17T00:59:16.2727838Z             {
2026-06-17T00:59:16.2727984Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T00:59:16.2728086Z               "line": 258
2026-06-17T00:59:16.2728181Z             }
2026-06-17T00:59:16.2728285Z           ]
2026-06-17T00:59:16.2728381Z         }
2026-06-17T00:59:16.2728482Z       }
2026-06-17T00:59:16.2728580Z     },
2026-06-17T00:59:16.2728686Z     {
2026-06-17T00:59:16.2728806Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-17T00:59:16.2729090Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-17T00:59:16.2729212Z       "requiredStages": [
2026-06-17T00:59:16.2729311Z         "impl",
2026-06-17T00:59:16.2729417Z         "unit"
2026-06-17T00:59:16.2729513Z       ],
2026-06-17T00:59:16.2729617Z       "stages": {
2026-06-17T00:59:16.2729718Z         "doc": {
2026-06-17T00:59:16.2729837Z           "complete": false,
2026-06-17T00:59:16.2729950Z           "evidence": []
2026-06-17T00:59:16.2730047Z         },
2026-06-17T00:59:16.2730147Z         "impl": {
2026-06-17T00:59:16.2730260Z           "complete": true,
2026-06-17T00:59:16.2730371Z           "evidence": [
2026-06-17T00:59:16.2730465Z             {
2026-06-17T00:59:16.2730613Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2730719Z               "line": 18
2026-06-17T00:59:16.2730823Z             },
2026-06-17T00:59:16.2730923Z             {
2026-06-17T00:59:16.2731067Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2731171Z               "line": 35
2026-06-17T00:59:16.2731278Z             },
2026-06-17T00:59:16.2731382Z             {
2026-06-17T00:59:16.2731523Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2731638Z               "line": 72
2026-06-17T00:59:16.2731736Z             }
2026-06-17T00:59:16.2731840Z           ]
2026-06-17T00:59:16.2731940Z         },
2026-06-17T00:59:16.2732042Z         "int": {
2026-06-17T00:59:16.2732160Z           "complete": false,
2026-06-17T00:59:16.2732280Z           "evidence": []
2026-06-17T00:59:16.2732380Z         },
2026-06-17T00:59:16.2732614Z         "unit": {
2026-06-17T00:59:16.2732718Z           "complete": true,
2026-06-17T00:59:16.2732836Z           "evidence": [
2026-06-17T00:59:16.2732933Z             {
2026-06-17T00:59:16.2733080Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2733185Z               "line": 239
2026-06-17T00:59:16.2733285Z             },
2026-06-17T00:59:16.2733390Z             {
2026-06-17T00:59:16.2733519Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2733633Z               "line": 256
2026-06-17T00:59:16.2733733Z             },
2026-06-17T00:59:16.2733943Z             {
2026-06-17T00:59:16.2734086Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2734193Z               "line": 265
2026-06-17T00:59:16.2734296Z             }
2026-06-17T00:59:16.2734399Z           ]
2026-06-17T00:59:16.2734505Z         }
2026-06-17T00:59:16.2734606Z       }
2026-06-17T00:59:16.2734710Z     },
2026-06-17T00:59:16.2734815Z     {
2026-06-17T00:59:16.2734939Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-17T00:59:16.2735120Z       "title": "Hostable endpoint-types capability declaration",
2026-06-17T00:59:16.2735240Z       "requiredStages": [
2026-06-17T00:59:16.2735344Z         "impl",
2026-06-17T00:59:16.2735449Z         "unit"
2026-06-17T00:59:16.2735559Z       ],
2026-06-17T00:59:16.2735663Z       "stages": {
2026-06-17T00:59:16.2735759Z         "doc": {
2026-06-17T00:59:16.2735878Z           "complete": false,
2026-06-17T00:59:16.2735983Z           "evidence": []
2026-06-17T00:59:16.2736094Z         },
2026-06-17T00:59:16.2736198Z         "impl": {
2026-06-17T00:59:16.2736317Z           "complete": true,
2026-06-17T00:59:16.2736433Z           "evidence": [
2026-06-17T00:59:16.2736536Z             {
2026-06-17T00:59:16.2736678Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2736773Z               "line": 594
2026-06-17T00:59:16.2736881Z             }
2026-06-17T00:59:16.2736976Z           ]
2026-06-17T00:59:16.2737086Z         },
2026-06-17T00:59:16.2737192Z         "int": {
2026-06-17T00:59:16.2737305Z           "complete": false,
2026-06-17T00:59:16.2737420Z           "evidence": []
2026-06-17T00:59:16.2737520Z         },
2026-06-17T00:59:16.2737619Z         "unit": {
2026-06-17T00:59:16.2737725Z           "complete": true,
2026-06-17T00:59:16.2737844Z           "evidence": [
2026-06-17T00:59:16.2737943Z             {
2026-06-17T00:59:16.2738088Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2738202Z               "line": 963
2026-06-17T00:59:16.2738306Z             }
2026-06-17T00:59:16.2738407Z           ]
2026-06-17T00:59:16.2738512Z         }
2026-06-17T00:59:16.2738617Z       }
2026-06-17T00:59:16.2738718Z     },
2026-06-17T00:59:16.2738821Z     {
2026-06-17T00:59:16.2739070Z       "id": "REQ-SEAM-HISTORY",
2026-06-17T00:59:16.2739266Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-17T00:59:16.2739408Z       "requiredStages": [
2026-06-17T00:59:16.2739512Z         "impl",
2026-06-17T00:59:16.2739617Z         "unit",
2026-06-17T00:59:16.2739716Z         "int"
2026-06-17T00:59:16.2739814Z       ],
2026-06-17T00:59:16.2739915Z       "stages": {
2026-06-17T00:59:16.2740020Z         "doc": {
2026-06-17T00:59:16.2740138Z           "complete": false,
2026-06-17T00:59:16.2740239Z           "evidence": []
2026-06-17T00:59:16.2740344Z         },
2026-06-17T00:59:16.2740444Z         "impl": {
2026-06-17T00:59:16.2740549Z           "complete": true,
2026-06-17T00:59:16.2740664Z           "evidence": [
2026-06-17T00:59:16.2740754Z             {
2026-06-17T00:59:16.2740902Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.2741011Z               "line": 24
2026-06-17T00:59:16.2741111Z             },
2026-06-17T00:59:16.2741213Z             {
2026-06-17T00:59:16.2741350Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2741455Z               "line": 22
2026-06-17T00:59:16.2741551Z             }
2026-06-17T00:59:16.2741746Z           ]
2026-06-17T00:59:16.2741847Z         },
2026-06-17T00:59:16.2741956Z         "int": {
2026-06-17T00:59:16.2742064Z           "complete": true,
2026-06-17T00:59:16.2742174Z           "evidence": [
2026-06-17T00:59:16.2742283Z             {
2026-06-17T00:59:16.2742424Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.2742544Z               "line": 260
2026-06-17T00:59:16.2742644Z             }
2026-06-17T00:59:16.2742753Z           ]
2026-06-17T00:59:16.2742859Z         },
2026-06-17T00:59:16.2742959Z         "unit": {
2026-06-17T00:59:16.2743077Z           "complete": true,
2026-06-17T00:59:16.2743283Z           "evidence": [
2026-06-17T00:59:16.2743382Z             {
2026-06-17T00:59:16.2743508Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.2743631Z               "line": 171
2026-06-17T00:59:16.2743735Z             },
2026-06-17T00:59:16.2743837Z             {
2026-06-17T00:59:16.2743978Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.2744084Z               "line": 200
2026-06-17T00:59:16.2744193Z             },
2026-06-17T00:59:16.2744293Z             {
2026-06-17T00:59:16.2744433Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T00:59:16.2744545Z               "line": 220
2026-06-17T00:59:16.2744651Z             },
2026-06-17T00:59:16.2744757Z             {
2026-06-17T00:59:16.2744898Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2745012Z               "line": 199
2026-06-17T00:59:16.2745113Z             },
2026-06-17T00:59:16.2745217Z             {
2026-06-17T00:59:16.2745365Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2745471Z               "line": 219
2026-06-17T00:59:16.2745580Z             },
2026-06-17T00:59:16.2745680Z             {
2026-06-17T00:59:16.2745824Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2745923Z               "line": 244
2026-06-17T00:59:16.2746034Z             },
2026-06-17T00:59:16.2746143Z             {
2026-06-17T00:59:16.2746280Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2746391Z               "line": 276
2026-06-17T00:59:16.2746495Z             },
2026-06-17T00:59:16.2746600Z             {
2026-06-17T00:59:16.2746739Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2746848Z               "line": 297
2026-06-17T00:59:16.2746949Z             },
2026-06-17T00:59:16.2747054Z             {
2026-06-17T00:59:16.2747200Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T00:59:16.2747305Z               "line": 324
2026-06-17T00:59:16.2747409Z             }
2026-06-17T00:59:16.2747507Z           ]
2026-06-17T00:59:16.2747593Z         }
2026-06-17T00:59:16.2747699Z       }
2026-06-17T00:59:16.2747799Z     },
2026-06-17T00:59:16.2747894Z     {
2026-06-17T00:59:16.2748019Z       "id": "REQ-SEAM-INJECT",
2026-06-17T00:59:16.2748218Z       "title": "inject-input methods configurable per activity-state",
2026-06-17T00:59:16.2748338Z       "requiredStages": [
2026-06-17T00:59:16.2748456Z         "impl",
2026-06-17T00:59:16.2748557Z         "unit"
2026-06-17T00:59:16.2748657Z       ],
2026-06-17T00:59:16.2748776Z       "stages": {
2026-06-17T00:59:16.2748881Z         "doc": {
2026-06-17T00:59:16.2749072Z           "complete": false,
2026-06-17T00:59:16.2749182Z           "evidence": []
2026-06-17T00:59:16.2749296Z         },
2026-06-17T00:59:16.2749411Z         "impl": {
2026-06-17T00:59:16.2749526Z           "complete": true,
2026-06-17T00:59:16.2749639Z           "evidence": [
2026-06-17T00:59:16.2749740Z             {
2026-06-17T00:59:16.2749893Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2750001Z               "line": 19
2026-06-17T00:59:16.2750105Z             },
2026-06-17T00:59:16.2750205Z             {
2026-06-17T00:59:16.2750347Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2750460Z               "line": 111
2026-06-17T00:59:16.2750557Z             }
2026-06-17T00:59:16.2750770Z           ]
2026-06-17T00:59:16.2750867Z         },
2026-06-17T00:59:16.2750971Z         "int": {
2026-06-17T00:59:16.2751090Z           "complete": false,
2026-06-17T00:59:16.2751196Z           "evidence": []
2026-06-17T00:59:16.2751296Z         },
2026-06-17T00:59:16.2751400Z         "unit": {
2026-06-17T00:59:16.2751520Z           "complete": true,
2026-06-17T00:59:16.2751625Z           "evidence": [
2026-06-17T00:59:16.2751729Z             {
2026-06-17T00:59:16.2751877Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2751977Z               "line": 345
2026-06-17T00:59:16.2752188Z             },
2026-06-17T00:59:16.2752292Z             {
2026-06-17T00:59:16.2752436Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2752540Z               "line": 365
2026-06-17T00:59:16.2752639Z             }
2026-06-17T00:59:16.2752744Z           ]
2026-06-17T00:59:16.2752843Z         }
2026-06-17T00:59:16.2752946Z       }
2026-06-17T00:59:16.2753056Z     },
2026-06-17T00:59:16.2753162Z     {
2026-06-17T00:59:16.2753284Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-17T00:59:16.2753452Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-17T00:59:16.2753575Z       "requiredStages": [
2026-06-17T00:59:16.2753681Z         "impl",
2026-06-17T00:59:16.2753786Z         "unit"
2026-06-17T00:59:16.2753881Z       ],
2026-06-17T00:59:16.2753986Z       "stages": {
2026-06-17T00:59:16.2754091Z         "doc": {
2026-06-17T00:59:16.2754210Z           "complete": false,
2026-06-17T00:59:16.2754320Z           "evidence": []
2026-06-17T00:59:16.2754420Z         },
2026-06-17T00:59:16.2754529Z         "impl": {
2026-06-17T00:59:16.2754640Z           "complete": true,
2026-06-17T00:59:16.2754744Z           "evidence": [
2026-06-17T00:59:16.2754849Z             {
2026-06-17T00:59:16.2754988Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2755106Z               "line": 18
2026-06-17T00:59:16.2755211Z             },
2026-06-17T00:59:16.2755322Z             {
2026-06-17T00:59:16.2755463Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2755582Z               "line": 330
2026-06-17T00:59:16.2755688Z             }
2026-06-17T00:59:16.2755787Z           ]
2026-06-17T00:59:16.2755887Z         },
2026-06-17T00:59:16.2755993Z         "int": {
2026-06-17T00:59:16.2756111Z           "complete": false,
2026-06-17T00:59:16.2756221Z           "evidence": []
2026-06-17T00:59:16.2756317Z         },
2026-06-17T00:59:16.2756417Z         "unit": {
2026-06-17T00:59:16.2756526Z           "complete": true,
2026-06-17T00:59:16.2756637Z           "evidence": [
2026-06-17T00:59:16.2756741Z             {
2026-06-17T00:59:16.2756884Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2756984Z               "line": 604
2026-06-17T00:59:16.2757089Z             },
2026-06-17T00:59:16.2757190Z             {
2026-06-17T00:59:16.2757332Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2757442Z               "line": 614
2026-06-17T00:59:16.2757548Z             }
2026-06-17T00:59:16.2757651Z           ]
2026-06-17T00:59:16.2757746Z         }
2026-06-17T00:59:16.2757855Z       }
2026-06-17T00:59:16.2757955Z     },
2026-06-17T00:59:16.2758054Z     {
2026-06-17T00:59:16.2758177Z       "id": "REQ-SEAM-PSYCHE",
2026-06-17T00:59:16.2758344Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-17T00:59:16.2758468Z       "requiredStages": [
2026-06-17T00:59:16.2758574Z         "impl",
2026-06-17T00:59:16.2758678Z         "unit",
2026-06-17T00:59:16.2758783Z         "int"
2026-06-17T00:59:16.2758884Z       ],
2026-06-17T00:59:16.2759064Z       "stages": {
2026-06-17T00:59:16.2759170Z         "doc": {
2026-06-17T00:59:16.2759289Z           "complete": false,
2026-06-17T00:59:16.2759403Z           "evidence": []
2026-06-17T00:59:16.2759508Z         },
2026-06-17T00:59:16.2759618Z         "impl": {
2026-06-17T00:59:16.2759742Z           "complete": true,
2026-06-17T00:59:16.2759951Z           "evidence": [
2026-06-17T00:59:16.2760057Z             {
2026-06-17T00:59:16.2760204Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T00:59:16.2760304Z               "line": 19
2026-06-17T00:59:16.2760415Z             },
2026-06-17T00:59:16.2760514Z             {
2026-06-17T00:59:16.2760655Z               "path": "crates/spt/src/api/live.rs",
2026-06-17T00:59:16.2760770Z               "line": 12
2026-06-17T00:59:16.2760873Z             },
2026-06-17T00:59:16.2760977Z             {
2026-06-17T00:59:16.2761112Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2761345Z               "line": 233
2026-06-17T00:59:16.2761446Z             }
2026-06-17T00:59:16.2761550Z           ]
2026-06-17T00:59:16.2761650Z         },
2026-06-17T00:59:16.2761746Z         "int": {
2026-06-17T00:59:16.2761846Z           "complete": true,
2026-06-17T00:59:16.2761955Z           "evidence": [
2026-06-17T00:59:16.2762061Z             {
2026-06-17T00:59:16.2762208Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.2762333Z               "line": 259
2026-06-17T00:59:16.2762442Z             }
2026-06-17T00:59:16.2762547Z           ]
2026-06-17T00:59:16.2762653Z         },
2026-06-17T00:59:16.2762757Z         "unit": {
2026-06-17T00:59:16.2762866Z           "complete": true,
2026-06-17T00:59:16.2762977Z           "evidence": [
2026-06-17T00:59:16.2763077Z             {
2026-06-17T00:59:16.2763213Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T00:59:16.2763313Z               "line": 161
2026-06-17T00:59:16.2763417Z             },
2026-06-17T00:59:16.2763525Z             {
2026-06-17T00:59:16.2763669Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T00:59:16.2763783Z               "line": 168
2026-06-17T00:59:16.2763892Z             },
2026-06-17T00:59:16.2764003Z             {
2026-06-17T00:59:16.2764140Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T00:59:16.2764251Z               "line": 191
2026-06-17T00:59:16.2764355Z             },
2026-06-17T00:59:16.2764464Z             {
2026-06-17T00:59:16.2764599Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T00:59:16.2764703Z               "line": 106
2026-06-17T00:59:16.2764808Z             },
2026-06-17T00:59:16.2764909Z             {
2026-06-17T00:59:16.2765052Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T00:59:16.2765166Z               "line": 137
2026-06-17T00:59:16.2765267Z             },
2026-06-17T00:59:16.2765370Z             {
2026-06-17T00:59:16.2765500Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T00:59:16.2765615Z               "line": 161
2026-06-17T00:59:16.2765719Z             }
2026-06-17T00:59:16.2765810Z           ]
2026-06-17T00:59:16.2765916Z         }
2026-06-17T00:59:16.2766023Z       }
2026-06-17T00:59:16.2766118Z     },
2026-06-17T00:59:16.2766219Z     {
2026-06-17T00:59:16.2766333Z       "id": "REQ-SEAM-RESUME",
2026-06-17T00:59:16.2766549Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-17T00:59:16.2766676Z       "requiredStages": [
2026-06-17T00:59:16.2766781Z         "impl",
2026-06-17T00:59:16.2766882Z         "unit"
2026-06-17T00:59:16.2766991Z       ],
2026-06-17T00:59:16.2767096Z       "stages": {
2026-06-17T00:59:16.2767202Z         "doc": {
2026-06-17T00:59:16.2767320Z           "complete": false,
2026-06-17T00:59:16.2767440Z           "evidence": []
2026-06-17T00:59:16.2767535Z         },
2026-06-17T00:59:16.2767635Z         "impl": {
2026-06-17T00:59:16.2767750Z           "complete": true,
2026-06-17T00:59:16.2767855Z           "evidence": [
2026-06-17T00:59:16.2767964Z             {
2026-06-17T00:59:16.2768103Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2768211Z               "line": 19
2026-06-17T00:59:16.2768316Z             }
2026-06-17T00:59:16.2768415Z           ]
2026-06-17T00:59:16.2768515Z         },
2026-06-17T00:59:16.2768619Z         "int": {
2026-06-17T00:59:16.2768737Z           "complete": false,
2026-06-17T00:59:16.2768919Z           "evidence": []
2026-06-17T00:59:16.2769105Z         },
2026-06-17T00:59:16.2769205Z         "unit": {
2026-06-17T00:59:16.2769318Z           "complete": true,
2026-06-17T00:59:16.2769430Z           "evidence": [
2026-06-17T00:59:16.2769538Z             {
2026-06-17T00:59:16.2769682Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2769787Z               "line": 201
2026-06-17T00:59:16.2769887Z             },
2026-06-17T00:59:16.2769982Z             {
2026-06-17T00:59:16.2770130Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2770402Z               "line": 223
2026-06-17T00:59:16.2770497Z             },
2026-06-17T00:59:16.2770602Z             {
2026-06-17T00:59:16.2770745Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T00:59:16.2770864Z               "line": 244
2026-06-17T00:59:16.2770965Z             }
2026-06-17T00:59:16.2771074Z           ]
2026-06-17T00:59:16.2771178Z         }
2026-06-17T00:59:16.2771287Z       }
2026-06-17T00:59:16.2771377Z     },
2026-06-17T00:59:16.2771481Z     {
2026-06-17T00:59:16.2771605Z       "id": "REQ-SEAM-SPAWN",
2026-06-17T00:59:16.2771720Z       "title": "spawn-session seam",
2026-06-17T00:59:16.2771838Z       "requiredStages": [
2026-06-17T00:59:16.2771939Z         "impl",
2026-06-17T00:59:16.2772044Z         "unit"
2026-06-17T00:59:16.2772148Z       ],
2026-06-17T00:59:16.2772254Z       "stages": {
2026-06-17T00:59:16.2772359Z         "doc": {
2026-06-17T00:59:16.2775053Z           "complete": false,
2026-06-17T00:59:16.2775202Z           "evidence": []
2026-06-17T00:59:16.2775316Z         },
2026-06-17T00:59:16.2775430Z         "impl": {
2026-06-17T00:59:16.2775550Z           "complete": true,
2026-06-17T00:59:16.2775659Z           "evidence": [
2026-06-17T00:59:16.2775760Z             {
2026-06-17T00:59:16.2775926Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2776041Z               "line": 20
2026-06-17T00:59:16.2776152Z             }
2026-06-17T00:59:16.2776254Z           ]
2026-06-17T00:59:16.2776346Z         },
2026-06-17T00:59:16.2776447Z         "int": {
2026-06-17T00:59:16.2776560Z           "complete": false,
2026-06-17T00:59:16.2776664Z           "evidence": []
2026-06-17T00:59:16.2776769Z         },
2026-06-17T00:59:16.2776870Z         "unit": {
2026-06-17T00:59:16.2776983Z           "complete": true,
2026-06-17T00:59:16.2777089Z           "evidence": [
2026-06-17T00:59:16.2777190Z             {
2026-06-17T00:59:16.2777351Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2777461Z               "line": 566
2026-06-17T00:59:16.2777565Z             },
2026-06-17T00:59:16.2777666Z             {
2026-06-17T00:59:16.2777809Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2777918Z               "line": 573
2026-06-17T00:59:16.2778024Z             },
2026-06-17T00:59:16.2778128Z             {
2026-06-17T00:59:16.2778271Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2778382Z               "line": 679
2026-06-17T00:59:16.2778485Z             },
2026-06-17T00:59:16.2778586Z             {
2026-06-17T00:59:16.2778735Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2778842Z               "line": 685
2026-06-17T00:59:16.2779033Z             },
2026-06-17T00:59:16.2779131Z             {
2026-06-17T00:59:16.2779269Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2779389Z               "line": 710
2026-06-17T00:59:16.2779498Z             },
2026-06-17T00:59:16.2779593Z             {
2026-06-17T00:59:16.2779737Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T00:59:16.2779855Z               "line": 747
2026-06-17T00:59:16.2779952Z             }
2026-06-17T00:59:16.2780061Z           ]
2026-06-17T00:59:16.2780160Z         }
2026-06-17T00:59:16.2780262Z       }
2026-06-17T00:59:16.2780366Z     },
2026-06-17T00:59:16.2780465Z     {
2026-06-17T00:59:16.2780719Z       "id": "REQ-SEAM-UPDATE",
2026-06-17T00:59:16.2780920Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-17T00:59:16.2781042Z       "requiredStages": [
2026-06-17T00:59:16.2781143Z         "impl",
2026-06-17T00:59:16.2781245Z         "unit"
2026-06-17T00:59:16.2781352Z       ],
2026-06-17T00:59:16.2781453Z       "stages": {
2026-06-17T00:59:16.2781559Z         "doc": {
2026-06-17T00:59:16.2781672Z           "complete": false,
2026-06-17T00:59:16.2781780Z           "evidence": []
2026-06-17T00:59:16.2781886Z         },
2026-06-17T00:59:16.2781984Z         "impl": {
2026-06-17T00:59:16.2782199Z           "complete": true,
2026-06-17T00:59:16.2782304Z           "evidence": [
2026-06-17T00:59:16.2782412Z             {
2026-06-17T00:59:16.2782580Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2782689Z               "line": 28
2026-06-17T00:59:16.2782795Z             },
2026-06-17T00:59:16.2782895Z             {
2026-06-17T00:59:16.2783061Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2783172Z               "line": 88
2026-06-17T00:59:16.2783276Z             }
2026-06-17T00:59:16.2783376Z           ]
2026-06-17T00:59:16.2783482Z         },
2026-06-17T00:59:16.2783581Z         "int": {
2026-06-17T00:59:16.2783700Z           "complete": false,
2026-06-17T00:59:16.2783807Z           "evidence": []
2026-06-17T00:59:16.2783910Z         },
2026-06-17T00:59:16.2784010Z         "unit": {
2026-06-17T00:59:16.2784122Z           "complete": true,
2026-06-17T00:59:16.2784234Z           "evidence": [
2026-06-17T00:59:16.2784342Z             {
2026-06-17T00:59:16.2784495Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2784613Z               "line": 326
2026-06-17T00:59:16.2784717Z             },
2026-06-17T00:59:16.2784814Z             {
2026-06-17T00:59:16.2784965Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.2785076Z               "line": 337
2026-06-17T00:59:16.2785190Z             }
2026-06-17T00:59:16.2785293Z           ]
2026-06-17T00:59:16.2785400Z         }
2026-06-17T00:59:16.2785504Z       }
2026-06-17T00:59:16.2785604Z     },
2026-06-17T00:59:16.2785701Z     {
2026-06-17T00:59:16.2785819Z       "id": "REQ-SEC-1",
2026-06-17T00:59:16.2786267Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-17T00:59:16.2786382Z       "requiredStages": [
2026-06-17T00:59:16.2786481Z         "impl",
2026-06-17T00:59:16.2786586Z         "unit"
2026-06-17T00:59:16.2786688Z       ],
2026-06-17T00:59:16.2786791Z       "stages": {
2026-06-17T00:59:16.2786891Z         "doc": {
2026-06-17T00:59:16.2787007Z           "complete": false,
2026-06-17T00:59:16.2787115Z           "evidence": []
2026-06-17T00:59:16.2787219Z         },
2026-06-17T00:59:16.2787315Z         "impl": {
2026-06-17T00:59:16.2787435Z           "complete": true,
2026-06-17T00:59:16.2787539Z           "evidence": [
2026-06-17T00:59:16.2787644Z             {
2026-06-17T00:59:16.2787792Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2787892Z               "line": 86
2026-06-17T00:59:16.2787998Z             },
2026-06-17T00:59:16.2788102Z             {
2026-06-17T00:59:16.2788250Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2788350Z               "line": 116
2026-06-17T00:59:16.2788450Z             },
2026-06-17T00:59:16.2788550Z             {
2026-06-17T00:59:16.2788693Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2788807Z               "line": 130
2026-06-17T00:59:16.2788899Z             },
2026-06-17T00:59:16.2789084Z             {
2026-06-17T00:59:16.2789223Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2789327Z               "line": 109
2026-06-17T00:59:16.2789446Z             },
2026-06-17T00:59:16.2789550Z             {
2026-06-17T00:59:16.2789691Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2789901Z               "line": 130
2026-06-17T00:59:16.2790011Z             },
2026-06-17T00:59:16.2790110Z             {
2026-06-17T00:59:16.2790264Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2790372Z               "line": 143
2026-06-17T00:59:16.2790473Z             },
2026-06-17T00:59:16.2790578Z             {
2026-06-17T00:59:16.2790720Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2790831Z               "line": 209
2026-06-17T00:59:16.2790940Z             },
2026-06-17T00:59:16.2791141Z             {
2026-06-17T00:59:16.2791289Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2791388Z               "line": 235
2026-06-17T00:59:16.2791490Z             },
2026-06-17T00:59:16.2791588Z             {
2026-06-17T00:59:16.2791722Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2791833Z               "line": 5000
2026-06-17T00:59:16.2791931Z             }
2026-06-17T00:59:16.2792033Z           ]
2026-06-17T00:59:16.2792134Z         },
2026-06-17T00:59:16.2792232Z         "int": {
2026-06-17T00:59:16.2792336Z           "complete": false,
2026-06-17T00:59:16.2792451Z           "evidence": []
2026-06-17T00:59:16.2792554Z         },
2026-06-17T00:59:16.2792658Z         "unit": {
2026-06-17T00:59:16.2792773Z           "complete": true,
2026-06-17T00:59:16.2792873Z           "evidence": [
2026-06-17T00:59:16.2792973Z             {
2026-06-17T00:59:16.2793112Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2793230Z               "line": 142
2026-06-17T00:59:16.2793335Z             },
2026-06-17T00:59:16.2793436Z             {
2026-06-17T00:59:16.2793583Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2793688Z               "line": 194
2026-06-17T00:59:16.2793788Z             },
2026-06-17T00:59:16.2793883Z             {
2026-06-17T00:59:16.2794028Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T00:59:16.2794136Z               "line": 235
2026-06-17T00:59:16.2794241Z             },
2026-06-17T00:59:16.2794333Z             {
2026-06-17T00:59:16.2794479Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-17T00:59:16.2794580Z               "line": 140
2026-06-17T00:59:16.2794677Z             },
2026-06-17T00:59:16.2794785Z             {
2026-06-17T00:59:16.2794936Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2795036Z               "line": 247
2026-06-17T00:59:16.2795139Z             },
2026-06-17T00:59:16.2795243Z             {
2026-06-17T00:59:16.2795388Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2795492Z               "line": 277
2026-06-17T00:59:16.2795592Z             },
2026-06-17T00:59:16.2795688Z             {
2026-06-17T00:59:16.2795826Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2795931Z               "line": 310
2026-06-17T00:59:16.2796031Z             },
2026-06-17T00:59:16.2796135Z             {
2026-06-17T00:59:16.2796275Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2796374Z               "line": 329
2026-06-17T00:59:16.2796479Z             },
2026-06-17T00:59:16.2796580Z             {
2026-06-17T00:59:16.2796718Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2796827Z               "line": 362
2026-06-17T00:59:16.2796933Z             },
2026-06-17T00:59:16.2797032Z             {
2026-06-17T00:59:16.2797171Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T00:59:16.2797286Z               "line": 386
2026-06-17T00:59:16.2797389Z             },
2026-06-17T00:59:16.2797486Z             {
2026-06-17T00:59:16.2797619Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2797751Z               "line": 7558
2026-06-17T00:59:16.2797851Z             }
2026-06-17T00:59:16.2797957Z           ]
2026-06-17T00:59:16.2798056Z         }
2026-06-17T00:59:16.2798161Z       }
2026-06-17T00:59:16.2798329Z     },
2026-06-17T00:59:16.2798428Z     {
2026-06-17T00:59:16.2798548Z       "id": "REQ-SHELL-1",
2026-06-17T00:59:16.2799554Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-17T00:59:16.2799677Z       "requiredStages": [
2026-06-17T00:59:16.2799784Z         "impl",
2026-06-17T00:59:16.2800015Z         "unit",
2026-06-17T00:59:16.2800120Z         "int"
2026-06-17T00:59:16.2800214Z       ],
2026-06-17T00:59:16.2800323Z       "stages": {
2026-06-17T00:59:16.2800432Z         "doc": {
2026-06-17T00:59:16.2800543Z           "complete": false,
2026-06-17T00:59:16.2800646Z           "evidence": []
2026-06-17T00:59:16.2800752Z         },
2026-06-17T00:59:16.2800852Z         "impl": {
2026-06-17T00:59:16.2800971Z           "complete": true,
2026-06-17T00:59:16.2801067Z           "evidence": [
2026-06-17T00:59:16.2801171Z             {
2026-06-17T00:59:16.2801324Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2801439Z               "line": 189
2026-06-17T00:59:16.2801539Z             },
2026-06-17T00:59:16.2801639Z             {
2026-06-17T00:59:16.2801782Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2801887Z               "line": 268
2026-06-17T00:59:16.2801987Z             },
2026-06-17T00:59:16.2802088Z             {
2026-06-17T00:59:16.2802249Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2802350Z               "line": 27
2026-06-17T00:59:16.2802454Z             },
2026-06-17T00:59:16.2802554Z             {
2026-06-17T00:59:16.2802699Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2802806Z               "line": 52
2026-06-17T00:59:16.2802896Z             },
2026-06-17T00:59:16.2802992Z             {
2026-06-17T00:59:16.2803128Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2803242Z               "line": 144
2026-06-17T00:59:16.2803348Z             },
2026-06-17T00:59:16.2803448Z             {
2026-06-17T00:59:16.2803595Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2803696Z               "line": 176
2026-06-17T00:59:16.2803800Z             },
2026-06-17T00:59:16.2803905Z             {
2026-06-17T00:59:16.2804053Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2804157Z               "line": 22
2026-06-17T00:59:16.2804258Z             },
2026-06-17T00:59:16.2804358Z             {
2026-06-17T00:59:16.2804496Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2804602Z               "line": 65
2026-06-17T00:59:16.2804706Z             },
2026-06-17T00:59:16.2804811Z             {
2026-06-17T00:59:16.2804951Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2805063Z               "line": 76
2026-06-17T00:59:16.2805164Z             },
2026-06-17T00:59:16.2805266Z             {
2026-06-17T00:59:16.2805416Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2805516Z               "line": 151
2026-06-17T00:59:16.2805620Z             },
2026-06-17T00:59:16.2805718Z             {
2026-06-17T00:59:16.2805866Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2805977Z               "line": 210
2026-06-17T00:59:16.2806071Z             },
2026-06-17T00:59:16.2806176Z             {
2026-06-17T00:59:16.2806320Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2806438Z               "line": 255
2026-06-17T00:59:16.2806535Z             },
2026-06-17T00:59:16.2806634Z             {
2026-06-17T00:59:16.2806772Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2806873Z               "line": 277
2026-06-17T00:59:16.2807087Z             },
2026-06-17T00:59:16.2807188Z             {
2026-06-17T00:59:16.2807335Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2807436Z               "line": 290
2026-06-17T00:59:16.2807526Z             },
2026-06-17T00:59:16.2807630Z             {
2026-06-17T00:59:16.2807770Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2807874Z               "line": 217
2026-06-17T00:59:16.2807979Z             },
2026-06-17T00:59:16.2808084Z             {
2026-06-17T00:59:16.2808226Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2808406Z               "line": 233
2026-06-17T00:59:16.2808503Z             },
2026-06-17T00:59:16.2808607Z             {
2026-06-17T00:59:16.2808750Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.2808851Z               "line": 41
2026-06-17T00:59:16.2809031Z             },
2026-06-17T00:59:16.2809137Z             {
2026-06-17T00:59:16.2809279Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.2809395Z               "line": 222
2026-06-17T00:59:16.2809499Z             },
2026-06-17T00:59:16.2809603Z             {
2026-06-17T00:59:16.2809743Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T00:59:16.2809846Z               "line": 173
2026-06-17T00:59:16.2809946Z             },
2026-06-17T00:59:16.2810039Z             {
2026-06-17T00:59:16.2810175Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2810281Z               "line": 349
2026-06-17T00:59:16.2810387Z             },
2026-06-17T00:59:16.2810485Z             {
2026-06-17T00:59:16.2810622Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2810737Z               "line": 414
2026-06-17T00:59:16.2810831Z             },
2026-06-17T00:59:16.2810940Z             {
2026-06-17T00:59:16.2811079Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2811197Z               "line": 329
2026-06-17T00:59:16.2811303Z             },
2026-06-17T00:59:16.2811398Z             {
2026-06-17T00:59:16.2811526Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2811637Z               "line": 5992
2026-06-17T00:59:16.2811736Z             },
2026-06-17T00:59:16.2811836Z             {
2026-06-17T00:59:16.2811956Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2812065Z               "line": 6142
2026-06-17T00:59:16.2812160Z             },
2026-06-17T00:59:16.2812267Z             {
2026-06-17T00:59:16.2812389Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2812489Z               "line": 6318
2026-06-17T00:59:16.2812595Z             }
2026-06-17T00:59:16.2812695Z           ]
2026-06-17T00:59:16.2812795Z         },
2026-06-17T00:59:16.2812896Z         "int": {
2026-06-17T00:59:16.2813019Z           "complete": true,
2026-06-17T00:59:16.2813128Z           "evidence": [
2026-06-17T00:59:16.2813235Z             {
2026-06-17T00:59:16.2813380Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2813489Z               "line": 709
2026-06-17T00:59:16.2813595Z             },
2026-06-17T00:59:16.2813698Z             {
2026-06-17T00:59:16.2813865Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T00:59:16.2813975Z               "line": 8
2026-06-17T00:59:16.2814083Z             },
2026-06-17T00:59:16.2814184Z             {
2026-06-17T00:59:16.2814346Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T00:59:16.2814460Z               "line": 49
2026-06-17T00:59:16.2814562Z             },
2026-06-17T00:59:16.2814666Z             {
2026-06-17T00:59:16.2814809Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2814923Z               "line": 776
2026-06-17T00:59:16.2815027Z             },
2026-06-17T00:59:16.2815134Z             {
2026-06-17T00:59:16.2815285Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2815390Z               "line": 1211
2026-06-17T00:59:16.2815599Z             },
2026-06-17T00:59:16.2815705Z             {
2026-06-17T00:59:16.2815849Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T00:59:16.2815961Z               "line": 17
2026-06-17T00:59:16.2816066Z             },
2026-06-17T00:59:16.2816167Z             {
2026-06-17T00:59:16.2816307Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T00:59:16.2816412Z               "line": 14
2026-06-17T00:59:16.2816518Z             }
2026-06-17T00:59:16.2816621Z           ]
2026-06-17T00:59:16.2816732Z         },
2026-06-17T00:59:16.2816841Z         "unit": {
2026-06-17T00:59:16.2817051Z           "complete": true,
2026-06-17T00:59:16.2817151Z           "evidence": [
2026-06-17T00:59:16.2817260Z             {
2026-06-17T00:59:16.2817395Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2817509Z               "line": 246
2026-06-17T00:59:16.2817614Z             },
2026-06-17T00:59:16.2817720Z             {
2026-06-17T00:59:16.2817871Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2817981Z               "line": 279
2026-06-17T00:59:16.2818086Z             },
2026-06-17T00:59:16.2818181Z             {
2026-06-17T00:59:16.2818325Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2818438Z               "line": 319
2026-06-17T00:59:16.2818534Z             },
2026-06-17T00:59:16.2818645Z             {
2026-06-17T00:59:16.2818791Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2818895Z               "line": 595
2026-06-17T00:59:16.2819078Z             },
2026-06-17T00:59:16.2819186Z             {
2026-06-17T00:59:16.2819335Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2819449Z               "line": 668
2026-06-17T00:59:16.2819543Z             },
2026-06-17T00:59:16.2819645Z             {
2026-06-17T00:59:16.2819796Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2819902Z               "line": 812
2026-06-17T00:59:16.2820002Z             },
2026-06-17T00:59:16.2820107Z             {
2026-06-17T00:59:16.2820250Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.2820369Z               "line": 595
2026-06-17T00:59:16.2820469Z             },
2026-06-17T00:59:16.2820570Z             {
2026-06-17T00:59:16.2820712Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T00:59:16.2820826Z               "line": 399
2026-06-17T00:59:16.2820937Z             },
2026-06-17T00:59:16.2821036Z             {
2026-06-17T00:59:16.2821164Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2821268Z               "line": 8200
2026-06-17T00:59:16.2821367Z             },
2026-06-17T00:59:16.2821466Z             {
2026-06-17T00:59:16.2821596Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2821701Z               "line": 8524
2026-06-17T00:59:16.2821800Z             },
2026-06-17T00:59:16.2821906Z             {
2026-06-17T00:59:16.2822034Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2822144Z               "line": 8941
2026-06-17T00:59:16.2822245Z             }
2026-06-17T00:59:16.2822353Z           ]
2026-06-17T00:59:16.2822459Z         }
2026-06-17T00:59:16.2822555Z       }
2026-06-17T00:59:16.2822659Z     },
2026-06-17T00:59:16.2822754Z     {
2026-06-17T00:59:16.2822874Z       "id": "REQ-SHELL-2",
2026-06-17T00:59:16.2824483Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-17T00:59:16.2824615Z       "requiredStages": [
2026-06-17T00:59:16.2824720Z         "impl",
2026-06-17T00:59:16.2824920Z         "unit",
2026-06-17T00:59:16.2825025Z         "int"
2026-06-17T00:59:16.2825126Z       ],
2026-06-17T00:59:16.2825231Z       "stages": {
2026-06-17T00:59:16.2825335Z         "doc": {
2026-06-17T00:59:16.2825441Z           "complete": false,
2026-06-17T00:59:16.2825550Z           "evidence": []
2026-06-17T00:59:16.2825655Z         },
2026-06-17T00:59:16.2825770Z         "impl": {
2026-06-17T00:59:16.2825874Z           "complete": true,
2026-06-17T00:59:16.2825984Z           "evidence": [
2026-06-17T00:59:16.2826090Z             {
2026-06-17T00:59:16.2826241Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.2826456Z               "line": 217
2026-06-17T00:59:16.2826560Z             },
2026-06-17T00:59:16.2826669Z             {
2026-06-17T00:59:16.2826824Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2826928Z               "line": 403
2026-06-17T00:59:16.2827030Z             },
2026-06-17T00:59:16.2827130Z             {
2026-06-17T00:59:16.2827282Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T00:59:16.2827387Z               "line": 250
2026-06-17T00:59:16.2827487Z             },
2026-06-17T00:59:16.2827587Z             {
2026-06-17T00:59:16.2827735Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.2827849Z               "line": 378
2026-06-17T00:59:16.2827950Z             },
2026-06-17T00:59:16.2828054Z             {
2026-06-17T00:59:16.2828198Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2828318Z               "line": 30
2026-06-17T00:59:16.2828418Z             },
2026-06-17T00:59:16.2828517Z             {
2026-06-17T00:59:16.2828661Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2828760Z               "line": 409
2026-06-17T00:59:16.2828861Z             },
2026-06-17T00:59:16.2829041Z             {
2026-06-17T00:59:16.2829191Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2829309Z               "line": 445
2026-06-17T00:59:16.2829437Z             },
2026-06-17T00:59:16.2829551Z             {
2026-06-17T00:59:16.2829694Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2829793Z               "line": 660
2026-06-17T00:59:16.2829890Z             },
2026-06-17T00:59:16.2829999Z             {
2026-06-17T00:59:16.2830142Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2830247Z               "line": 348
2026-06-17T00:59:16.2830352Z             },
2026-06-17T00:59:16.2830457Z             {
2026-06-17T00:59:16.2830600Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2830719Z               "line": 115
2026-06-17T00:59:16.2830820Z             },
2026-06-17T00:59:16.2830924Z             {
2026-06-17T00:59:16.2831067Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2831173Z               "line": 120
2026-06-17T00:59:16.2831267Z             },
2026-06-17T00:59:16.2831367Z             {
2026-06-17T00:59:16.2831516Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2831634Z               "line": 370
2026-06-17T00:59:16.2831733Z             },
2026-06-17T00:59:16.2831833Z             {
2026-06-17T00:59:16.2831975Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2832084Z               "line": 496
2026-06-17T00:59:16.2832190Z             },
2026-06-17T00:59:16.2832294Z             {
2026-06-17T00:59:16.2832437Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2832547Z               "line": 24
2026-06-17T00:59:16.2832646Z             },
2026-06-17T00:59:16.2832753Z             {
2026-06-17T00:59:16.2832899Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2833004Z               "line": 76
2026-06-17T00:59:16.2833105Z             },
2026-06-17T00:59:16.2833210Z             {
2026-06-17T00:59:16.2833357Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2833591Z               "line": 154
2026-06-17T00:59:16.2833697Z             },
2026-06-17T00:59:16.2833801Z             {
2026-06-17T00:59:16.2833948Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2834059Z               "line": 177
2026-06-17T00:59:16.2834163Z             },
2026-06-17T00:59:16.2834268Z             {
2026-06-17T00:59:16.2834417Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2834520Z               "line": 273
2026-06-17T00:59:16.2834615Z             },
2026-06-17T00:59:16.2834720Z             {
2026-06-17T00:59:16.2834870Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2835080Z               "line": 456
2026-06-17T00:59:16.2835185Z             },
2026-06-17T00:59:16.2835280Z             {
2026-06-17T00:59:16.2835429Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2835532Z               "line": 538
2026-06-17T00:59:16.2835634Z             },
2026-06-17T00:59:16.2835743Z             {
2026-06-17T00:59:16.2835900Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T00:59:16.2836011Z               "line": 27
2026-06-17T00:59:16.2836115Z             },
2026-06-17T00:59:16.2836220Z             {
2026-06-17T00:59:16.2836368Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T00:59:16.2836481Z               "line": 48
2026-06-17T00:59:16.2836588Z             },
2026-06-17T00:59:16.2836692Z             {
2026-06-17T00:59:16.2836840Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2836946Z               "line": 513
2026-06-17T00:59:16.2837049Z             },
2026-06-17T00:59:16.2837153Z             {
2026-06-17T00:59:16.2837287Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2837403Z               "line": 1737
2026-06-17T00:59:16.2837508Z             },
2026-06-17T00:59:16.2837614Z             {
2026-06-17T00:59:16.2837741Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2837847Z               "line": 6006
2026-06-17T00:59:16.2837952Z             },
2026-06-17T00:59:16.2838056Z             {
2026-06-17T00:59:16.2838186Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2838286Z               "line": 6067
2026-06-17T00:59:16.2838385Z             },
2026-06-17T00:59:16.2838482Z             {
2026-06-17T00:59:16.2838596Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2838709Z               "line": 6095
2026-06-17T00:59:16.2838811Z             },
2026-06-17T00:59:16.2838911Z             {
2026-06-17T00:59:16.2839091Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2839202Z               "line": 6149
2026-06-17T00:59:16.2839306Z             },
2026-06-17T00:59:16.2839426Z             {
2026-06-17T00:59:16.2839550Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2839654Z               "line": 6404
2026-06-17T00:59:16.2839751Z             },
2026-06-17T00:59:16.2839851Z             {
2026-06-17T00:59:16.2839992Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2840097Z               "line": 6464
2026-06-17T00:59:16.2840203Z             },
2026-06-17T00:59:16.2840306Z             {
2026-06-17T00:59:16.2840430Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2840551Z               "line": 298
2026-06-17T00:59:16.2840654Z             },
2026-06-17T00:59:16.2840746Z             {
2026-06-17T00:59:16.2840875Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2840978Z               "line": 339
2026-06-17T00:59:16.2841080Z             }
2026-06-17T00:59:16.2841188Z           ]
2026-06-17T00:59:16.2841293Z         },
2026-06-17T00:59:16.2841395Z         "int": {
2026-06-17T00:59:16.2841517Z           "complete": true,
2026-06-17T00:59:16.2841627Z           "evidence": [
2026-06-17T00:59:16.2841733Z             {
2026-06-17T00:59:16.2841899Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2842000Z               "line": 702
2026-06-17T00:59:16.2842208Z             },
2026-06-17T00:59:16.2842313Z             {
2026-06-17T00:59:16.2842473Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2842586Z               "line": 776
2026-06-17T00:59:16.2842688Z             },
2026-06-17T00:59:16.2842797Z             {
2026-06-17T00:59:16.2842945Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2843060Z               "line": 1211
2026-06-17T00:59:16.2843159Z             },
2026-06-17T00:59:16.2843264Z             {
2026-06-17T00:59:16.2843427Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-17T00:59:16.2843647Z               "line": 18
2026-06-17T00:59:16.2843746Z             }
2026-06-17T00:59:16.2843846Z           ]
2026-06-17T00:59:16.2843957Z         },
2026-06-17T00:59:16.2844056Z         "unit": {
2026-06-17T00:59:16.2844179Z           "complete": true,
2026-06-17T00:59:16.2844286Z           "evidence": [
2026-06-17T00:59:16.2844389Z             {
2026-06-17T00:59:16.2844552Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2844662Z               "line": 744
2026-06-17T00:59:16.2844766Z             },
2026-06-17T00:59:16.2844867Z             {
2026-06-17T00:59:16.2845009Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T00:59:16.2845118Z               "line": 796
2026-06-17T00:59:16.2845218Z             },
2026-06-17T00:59:16.2845322Z             {
2026-06-17T00:59:16.2845473Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2845574Z               "line": 701
2026-06-17T00:59:16.2845683Z             },
2026-06-17T00:59:16.2845787Z             {
2026-06-17T00:59:16.2845932Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2846045Z               "line": 750
2026-06-17T00:59:16.2846146Z             },
2026-06-17T00:59:16.2846256Z             {
2026-06-17T00:59:16.2846403Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2846519Z               "line": 774
2026-06-17T00:59:16.2846623Z             },
2026-06-17T00:59:16.2846727Z             {
2026-06-17T00:59:16.2846871Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2846979Z               "line": 603
2026-06-17T00:59:16.2847080Z             },
2026-06-17T00:59:16.2847186Z             {
2026-06-17T00:59:16.2847333Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2847449Z               "line": 624
2026-06-17T00:59:16.2847562Z             },
2026-06-17T00:59:16.2847665Z             {
2026-06-17T00:59:16.2847813Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2847931Z               "line": 660
2026-06-17T00:59:16.2848030Z             },
2026-06-17T00:59:16.2848135Z             {
2026-06-17T00:59:16.2848283Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2848392Z               "line": 714
2026-06-17T00:59:16.2848499Z             },
2026-06-17T00:59:16.2848603Z             {
2026-06-17T00:59:16.2848751Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2848860Z               "line": 732
2026-06-17T00:59:16.2849017Z             },
2026-06-17T00:59:16.2849118Z             {
2026-06-17T00:59:16.2849270Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2849381Z               "line": 766
2026-06-17T00:59:16.2849490Z             },
2026-06-17T00:59:16.2849589Z             {
2026-06-17T00:59:16.2849734Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T00:59:16.2849842Z               "line": 841
2026-06-17T00:59:16.2849942Z             },
2026-06-17T00:59:16.2850044Z             {
2026-06-17T00:59:16.2850200Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T00:59:16.2850311Z               "line": 85
2026-06-17T00:59:16.2850411Z             },
2026-06-17T00:59:16.2850518Z             {
2026-06-17T00:59:16.2850647Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2850866Z               "line": 7358
2026-06-17T00:59:16.2850967Z             },
2026-06-17T00:59:16.2851072Z             {
2026-06-17T00:59:16.2851209Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2851311Z               "line": 8278
2026-06-17T00:59:16.2851410Z             },
2026-06-17T00:59:16.2851514Z             {
2026-06-17T00:59:16.2851645Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2851758Z               "line": 8348
2026-06-17T00:59:16.2851858Z             },
2026-06-17T00:59:16.2851964Z             {
2026-06-17T00:59:16.2852082Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2852298Z               "line": 8386
2026-06-17T00:59:16.2852401Z             }
2026-06-17T00:59:16.2852492Z           ]
2026-06-17T00:59:16.2852599Z         }
2026-06-17T00:59:16.2852702Z       }
2026-06-17T00:59:16.2852806Z     },
2026-06-17T00:59:16.2852906Z     {
2026-06-17T00:59:16.2853024Z       "id": "REQ-SHELL-3",
2026-06-17T00:59:16.2854888Z       "title": "Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sensory for continuous real-time control (scroll/crank/stick/avatar) — a [shell.drive] manifest vocab + EVENT_TYPE_DRIVE frame, delivered to the ONLINE binary only via a single live slot (a new frame supersedes an undelivered one — no spool, no queue, no replay on relink), dropped-with-diagnostic if the shell is offline; cross-node rides the ephemeral link (REST class), never the durable shell spool. Commands = discrete+durable; drive = continuous+ephemeral (CONTEXT:260, minted 2026-06-11 Gateway grill).",
2026-06-17T00:59:16.2855030Z       "requiredStages": [
2026-06-17T00:59:16.2855137Z         "impl",
2026-06-17T00:59:16.2857784Z         "unit",
2026-06-17T00:59:16.2857922Z         "int"
2026-06-17T00:59:16.2858023Z       ],
2026-06-17T00:59:16.2858122Z       "stages": {
2026-06-17T00:59:16.2858235Z         "doc": {
2026-06-17T00:59:16.2858345Z           "complete": false,
2026-06-17T00:59:16.2858472Z           "evidence": []
2026-06-17T00:59:16.2858576Z         },
2026-06-17T00:59:16.2858677Z         "impl": {
2026-06-17T00:59:16.2858796Z           "complete": true,
2026-06-17T00:59:16.2858909Z           "evidence": [
2026-06-17T00:59:16.2859096Z             {
2026-06-17T00:59:16.2859253Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.2859363Z               "line": 224
2026-06-17T00:59:16.2859482Z             },
2026-06-17T00:59:16.2859582Z             {
2026-06-17T00:59:16.2859745Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2859849Z               "line": 36
2026-06-17T00:59:16.2859955Z             },
2026-06-17T00:59:16.2860059Z             {
2026-06-17T00:59:16.2860202Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2860303Z               "line": 137
2026-06-17T00:59:16.2860407Z             },
2026-06-17T00:59:16.2860507Z             {
2026-06-17T00:59:16.2860656Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2860765Z               "line": 153
2026-06-17T00:59:16.2860866Z             },
2026-06-17T00:59:16.2860966Z             {
2026-06-17T00:59:16.2861112Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2861212Z               "line": 165
2026-06-17T00:59:16.2861313Z             },
2026-06-17T00:59:16.2861417Z             {
2026-06-17T00:59:16.2861560Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2861656Z               "line": 242
2026-06-17T00:59:16.2861760Z             },
2026-06-17T00:59:16.2861866Z             {
2026-06-17T00:59:16.2862005Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2862113Z               "line": 267
2026-06-17T00:59:16.2862219Z             },
2026-06-17T00:59:16.2862318Z             {
2026-06-17T00:59:16.2862456Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2862572Z               "line": 293
2026-06-17T00:59:16.2862801Z             },
2026-06-17T00:59:16.2862906Z             {
2026-06-17T00:59:16.2863047Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T00:59:16.2863154Z               "line": 51
2026-06-17T00:59:16.2863262Z             },
2026-06-17T00:59:16.2863357Z             {
2026-06-17T00:59:16.2863505Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2863617Z               "line": 333
2026-06-17T00:59:16.2863721Z             },
2026-06-17T00:59:16.2863817Z             {
2026-06-17T00:59:16.2863960Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2864180Z               "line": 373
2026-06-17T00:59:16.2864284Z             },
2026-06-17T00:59:16.2864389Z             {
2026-06-17T00:59:16.2864532Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2864641Z               "line": 602
2026-06-17T00:59:16.2864743Z             },
2026-06-17T00:59:16.2864847Z             {
2026-06-17T00:59:16.2864999Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2865101Z               "line": 132
2026-06-17T00:59:16.2865200Z             },
2026-06-17T00:59:16.2865305Z             {
2026-06-17T00:59:16.2865449Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2865562Z               "line": 444
2026-06-17T00:59:16.2865668Z             },
2026-06-17T00:59:16.2865773Z             {
2026-06-17T00:59:16.2865915Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T00:59:16.2866021Z               "line": 74
2026-06-17T00:59:16.2866125Z             },
2026-06-17T00:59:16.2866224Z             {
2026-06-17T00:59:16.2866372Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2866475Z               "line": 550
2026-06-17T00:59:16.2866579Z             },
2026-06-17T00:59:16.2866684Z             {
2026-06-17T00:59:16.2866822Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2866927Z               "line": 392
2026-06-17T00:59:16.2867037Z             },
2026-06-17T00:59:16.2867142Z             {
2026-06-17T00:59:16.2867266Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2867376Z               "line": 6190
2026-06-17T00:59:16.2867475Z             }
2026-06-17T00:59:16.2867576Z           ]
2026-06-17T00:59:16.2867681Z         },
2026-06-17T00:59:16.2867786Z         "int": {
2026-06-17T00:59:16.2867900Z           "complete": true,
2026-06-17T00:59:16.2868005Z           "evidence": [
2026-06-17T00:59:16.2868105Z             {
2026-06-17T00:59:16.2868244Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2868367Z               "line": 1260
2026-06-17T00:59:16.2868472Z             },
2026-06-17T00:59:16.2868564Z             {
2026-06-17T00:59:16.2868715Z               "path": "crates/spt/tests/drive_e2e.rs",
2026-06-17T00:59:16.2868814Z               "line": 17
2026-06-17T00:59:16.2868920Z             }
2026-06-17T00:59:16.2869098Z           ]
2026-06-17T00:59:16.2869198Z         },
2026-06-17T00:59:16.2869295Z         "unit": {
2026-06-17T00:59:16.2869422Z           "complete": true,
2026-06-17T00:59:16.2869542Z           "evidence": [
2026-06-17T00:59:16.2869642Z             {
2026-06-17T00:59:16.2869789Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2869900Z               "line": 311
2026-06-17T00:59:16.2869995Z             },
2026-06-17T00:59:16.2870094Z             {
2026-06-17T00:59:16.2870243Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2870343Z               "line": 325
2026-06-17T00:59:16.2870448Z             },
2026-06-17T00:59:16.2870553Z             {
2026-06-17T00:59:16.2870700Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2870801Z               "line": 343
2026-06-17T00:59:16.2870901Z             },
2026-06-17T00:59:16.2871006Z             {
2026-06-17T00:59:16.2871145Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2871359Z               "line": 364
2026-06-17T00:59:16.2871465Z             },
2026-06-17T00:59:16.2871568Z             {
2026-06-17T00:59:16.2871705Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T00:59:16.2871810Z               "line": 376
2026-06-17T00:59:16.2871916Z             },
2026-06-17T00:59:16.2872015Z             {
2026-06-17T00:59:16.2872155Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2872264Z               "line": 897
2026-06-17T00:59:16.2872373Z             },
2026-06-17T00:59:16.2872464Z             {
2026-06-17T00:59:16.2872607Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2872817Z               "line": 957
2026-06-17T00:59:16.2872922Z             },
2026-06-17T00:59:16.2873022Z             {
2026-06-17T00:59:16.2873165Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T00:59:16.2873265Z               "line": 338
2026-06-17T00:59:16.2873366Z             },
2026-06-17T00:59:16.2873475Z             {
2026-06-17T00:59:16.2873612Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2873719Z               "line": 743
2026-06-17T00:59:16.2873813Z             },
2026-06-17T00:59:16.2873917Z             {
2026-06-17T00:59:16.2874041Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2874140Z               "line": 8060
2026-06-17T00:59:16.2874248Z             }
2026-06-17T00:59:16.2874349Z           ]
2026-06-17T00:59:16.2874455Z         }
2026-06-17T00:59:16.2874553Z       }
2026-06-17T00:59:16.2874659Z     },
2026-06-17T00:59:16.2874759Z     {
2026-06-17T00:59:16.2874863Z       "id": "REQ-SHELL-4",
2026-06-17T00:59:16.2876755Z       "title": "Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, reliable-ordered, link-bound QUIC stream pair carrying opaque wire protocol traffic the channel taxonomy must NOT reinterpret (first consumer usbip URB) — manifest opt-in, not enveloped, not MAC-framed, not spooled; the link lifecycle governs it (a link-break closes the tunnel). Reliable-ordered ⇒ congestion surfaces as lag never loss ⇒ acceptable only on-LAN: the on-LAN posture is documented and the tunnel is NOT proven cross-WAN (CONTEXT:262, minted 2026-06-11 Gateway grill; doyle gate C2).",
2026-06-17T00:59:16.2876894Z       "requiredStages": [
2026-06-17T00:59:16.2876998Z         "doc",
2026-06-17T00:59:16.2877101Z         "impl",
2026-06-17T00:59:16.2877197Z         "unit",
2026-06-17T00:59:16.2877307Z         "int"
2026-06-17T00:59:16.2877406Z       ],
2026-06-17T00:59:16.2877506Z       "stages": {
2026-06-17T00:59:16.2877607Z         "doc": {
2026-06-17T00:59:16.2877725Z           "complete": true,
2026-06-17T00:59:16.2877821Z           "evidence": [
2026-06-17T00:59:16.2877922Z             {
2026-06-17T00:59:16.2878049Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2878150Z               "line": 269
2026-06-17T00:59:16.2878251Z             },
2026-06-17T00:59:16.2878355Z             {
2026-06-17T00:59:16.2878617Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-17T00:59:16.2878732Z               "line": 88
2026-06-17T00:59:16.2878833Z             }
2026-06-17T00:59:16.2878937Z           ]
2026-06-17T00:59:16.2879124Z         },
2026-06-17T00:59:16.2879228Z         "impl": {
2026-06-17T00:59:16.2879346Z           "complete": true,
2026-06-17T00:59:16.2879455Z           "evidence": [
2026-06-17T00:59:16.2879555Z             {
2026-06-17T00:59:16.2879705Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.2879821Z               "line": 238
2026-06-17T00:59:16.2879921Z             },
2026-06-17T00:59:16.2880020Z             {
2026-06-17T00:59:16.2880169Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T00:59:16.2880273Z               "line": 61
2026-06-17T00:59:16.2880373Z             },
2026-06-17T00:59:16.2880474Z             {
2026-06-17T00:59:16.2880616Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2880832Z               "line": 218
2026-06-17T00:59:16.2880945Z             },
2026-06-17T00:59:16.2881051Z             {
2026-06-17T00:59:16.2881194Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2881299Z               "line": 245
2026-06-17T00:59:16.2881400Z             },
2026-06-17T00:59:16.2881508Z             {
2026-06-17T00:59:16.2881647Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2881762Z               "line": 549
2026-06-17T00:59:16.2881866Z             },
2026-06-17T00:59:16.2881967Z             {
2026-06-17T00:59:16.2882114Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2882308Z               "line": 1059
2026-06-17T00:59:16.2882410Z             },
2026-06-17T00:59:16.2882514Z             {
2026-06-17T00:59:16.2882657Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2882771Z               "line": 1071
2026-06-17T00:59:16.2882871Z             },
2026-06-17T00:59:16.2882982Z             {
2026-06-17T00:59:16.2883120Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2883238Z               "line": 1112
2026-06-17T00:59:16.2883339Z             },
2026-06-17T00:59:16.2883443Z             {
2026-06-17T00:59:16.2883587Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2883697Z               "line": 452
2026-06-17T00:59:16.2883792Z             },
2026-06-17T00:59:16.2883892Z             {
2026-06-17T00:59:16.2884040Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2884149Z               "line": 44
2026-06-17T00:59:16.2884255Z             },
2026-06-17T00:59:16.2884350Z             {
2026-06-17T00:59:16.2884496Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2884601Z               "line": 208
2026-06-17T00:59:16.2884705Z             },
2026-06-17T00:59:16.2884808Z             {
2026-06-17T00:59:16.2884947Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2885057Z               "line": 227
2026-06-17T00:59:16.2885156Z             },
2026-06-17T00:59:16.2885257Z             {
2026-06-17T00:59:16.2885405Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2885504Z               "line": 253
2026-06-17T00:59:16.2885611Z             },
2026-06-17T00:59:16.2885719Z             {
2026-06-17T00:59:16.2885868Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2885977Z               "line": 272
2026-06-17T00:59:16.2886076Z             },
2026-06-17T00:59:16.2886178Z             {
2026-06-17T00:59:16.2886320Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2886425Z               "line": 392
2026-06-17T00:59:16.2886531Z             },
2026-06-17T00:59:16.2886634Z             {
2026-06-17T00:59:16.2886773Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2886879Z               "line": 421
2026-06-17T00:59:16.2886992Z             },
2026-06-17T00:59:16.2887093Z             {
2026-06-17T00:59:16.2887241Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2887349Z               "line": 439
2026-06-17T00:59:16.2887449Z             },
2026-06-17T00:59:16.2887549Z             {
2026-06-17T00:59:16.2887694Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2887804Z               "line": 458
2026-06-17T00:59:16.2887906Z             },
2026-06-17T00:59:16.2888004Z             {
2026-06-17T00:59:16.2888144Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2888253Z               "line": 486
2026-06-17T00:59:16.2888352Z             },
2026-06-17T00:59:16.2888449Z             {
2026-06-17T00:59:16.2888596Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2888696Z               "line": 569
2026-06-17T00:59:16.2888797Z             },
2026-06-17T00:59:16.2888897Z             {
2026-06-17T00:59:16.2889112Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2889335Z               "line": 774
2026-06-17T00:59:16.2889436Z             },
2026-06-17T00:59:16.2889539Z             {
2026-06-17T00:59:16.2889684Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2889793Z               "line": 431
2026-06-17T00:59:16.2889892Z             },
2026-06-17T00:59:16.2889997Z             {
2026-06-17T00:59:16.2890120Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2890223Z               "line": 6246
2026-06-17T00:59:16.2890328Z             }
2026-06-17T00:59:16.2890434Z           ]
2026-06-17T00:59:16.2890624Z         },
2026-06-17T00:59:16.2890724Z         "int": {
2026-06-17T00:59:16.2890838Z           "complete": true,
2026-06-17T00:59:16.2890948Z           "evidence": [
2026-06-17T00:59:16.2891048Z             {
2026-06-17T00:59:16.2891196Z               "path": "crates/spt/tests/tunnel_e2e.rs",
2026-06-17T00:59:16.2891297Z               "line": 18
2026-06-17T00:59:16.2891401Z             }
2026-06-17T00:59:16.2891505Z           ]
2026-06-17T00:59:16.2891602Z         },
2026-06-17T00:59:16.2891706Z         "unit": {
2026-06-17T00:59:16.2891820Z           "complete": true,
2026-06-17T00:59:16.2891922Z           "evidence": [
2026-06-17T00:59:16.2892026Z             {
2026-06-17T00:59:16.2892164Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2892275Z               "line": 1309
2026-06-17T00:59:16.2892378Z             },
2026-06-17T00:59:16.2892484Z             {
2026-06-17T00:59:16.2892623Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2892730Z               "line": 1338
2026-06-17T00:59:16.2892835Z             },
2026-06-17T00:59:16.2892936Z             {
2026-06-17T00:59:16.2893083Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2893183Z               "line": 504
2026-06-17T00:59:16.2893284Z             },
2026-06-17T00:59:16.2893388Z             {
2026-06-17T00:59:16.2893532Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2893646Z               "line": 514
2026-06-17T00:59:16.2893746Z             },
2026-06-17T00:59:16.2893851Z             {
2026-06-17T00:59:16.2893994Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2894108Z               "line": 531
2026-06-17T00:59:16.2894205Z             },
2026-06-17T00:59:16.2894309Z             {
2026-06-17T00:59:16.2894457Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2894562Z               "line": 543
2026-06-17T00:59:16.2894666Z             },
2026-06-17T00:59:16.2894757Z             {
2026-06-17T00:59:16.2894905Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T00:59:16.2895018Z               "line": 555
2026-06-17T00:59:16.2895123Z             },
2026-06-17T00:59:16.2895232Z             {
2026-06-17T00:59:16.2895378Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.2895483Z               "line": 1075
2026-06-17T00:59:16.2895589Z             },
2026-06-17T00:59:16.2895683Z             {
2026-06-17T00:59:16.2895817Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T00:59:16.2895927Z               "line": 750
2026-06-17T00:59:16.2896026Z             }
2026-06-17T00:59:16.2896132Z           ]
2026-06-17T00:59:16.2896232Z         }
2026-06-17T00:59:16.2896336Z       }
2026-06-17T00:59:16.2896433Z     },
2026-06-17T00:59:16.2896528Z     {
2026-06-17T00:59:16.2896632Z       "id": "REQ-SHELL-5",
2026-06-17T00:59:16.2897890Z       "title": "Shell ownership is owner-type-agnostic: any non-Shell endpoint type may own/spawn/drive/command/link a shell (Gateway the named first) — control-exclusivity keys on the owner endpoint_id, NEVER on the owner's endpoint type. No ownership path (mint, launch, owner-from-link, cmd, drive, tunnel, sleep/wake, owner-shutdown) inspects the owner's type (CONTEXT:264, ratified 2026-06-11 Gateway grill).",
2026-06-17T00:59:16.2898014Z       "requiredStages": [
2026-06-17T00:59:16.2898193Z         "doc",
2026-06-17T00:59:16.2898293Z         "impl",
2026-06-17T00:59:16.2898394Z         "unit",
2026-06-17T00:59:16.2898494Z         "int"
2026-06-17T00:59:16.2898598Z       ],
2026-06-17T00:59:16.2898714Z       "stages": {
2026-06-17T00:59:16.2898813Z         "doc": {
2026-06-17T00:59:16.2898922Z           "complete": true,
2026-06-17T00:59:16.2899133Z           "evidence": [
2026-06-17T00:59:16.2899232Z             {
2026-06-17T00:59:16.2899362Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.2899467Z               "line": 272
2026-06-17T00:59:16.2899571Z             }
2026-06-17T00:59:16.2899790Z           ]
2026-06-17T00:59:16.2899891Z         },
2026-06-17T00:59:16.2899996Z         "impl": {
2026-06-17T00:59:16.2900104Z           "complete": true,
2026-06-17T00:59:16.2900220Z           "evidence": [
2026-06-17T00:59:16.2900316Z             {
2026-06-17T00:59:16.2900471Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T00:59:16.2900571Z               "line": 256
2026-06-17T00:59:16.2900676Z             }
2026-06-17T00:59:16.2900779Z           ]
2026-06-17T00:59:16.2900874Z         },
2026-06-17T00:59:16.2900975Z         "int": {
2026-06-17T00:59:16.2901079Z           "complete": true,
2026-06-17T00:59:16.2901193Z           "evidence": [
2026-06-17T00:59:16.2901289Z             {
2026-06-17T00:59:16.2901441Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2901547Z               "line": 825
2026-06-17T00:59:16.2901651Z             },
2026-06-17T00:59:16.2901746Z             {
2026-06-17T00:59:16.2901891Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2902004Z               "line": 1288
2026-06-17T00:59:16.2902104Z             },
2026-06-17T00:59:16.2902201Z             {
2026-06-17T00:59:16.2902371Z               "path": "crates/spt/tests/gateway_owner_shell_e2e.rs",
2026-06-17T00:59:16.2902472Z               "line": 23
2026-06-17T00:59:16.2902582Z             }
2026-06-17T00:59:16.2902686Z           ]
2026-06-17T00:59:16.2902792Z         },
2026-06-17T00:59:16.2902892Z         "unit": {
2026-06-17T00:59:16.2903005Z           "complete": true,
2026-06-17T00:59:16.2903117Z           "evidence": [
2026-06-17T00:59:16.2903212Z             {
2026-06-17T00:59:16.2903362Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T00:59:16.2903472Z               "line": 803
2026-06-17T00:59:16.2903577Z             }
2026-06-17T00:59:16.2903677Z           ]
2026-06-17T00:59:16.2903782Z         }
2026-06-17T00:59:16.2903892Z       }
2026-06-17T00:59:16.2903991Z     },
2026-06-17T00:59:16.2904092Z     {
2026-06-17T00:59:16.2904197Z       "id": "REQ-START-1",
2026-06-17T00:59:16.2904421Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-17T00:59:16.2904540Z       "requiredStages": [
2026-06-17T00:59:16.2904644Z         "impl",
2026-06-17T00:59:16.2904741Z         "unit"
2026-06-17T00:59:16.2904840Z       ],
2026-06-17T00:59:16.2904955Z       "stages": {
2026-06-17T00:59:16.2905061Z         "doc": {
2026-06-17T00:59:16.2905179Z           "complete": false,
2026-06-17T00:59:16.2905284Z           "evidence": []
2026-06-17T00:59:16.2905385Z         },
2026-06-17T00:59:16.2905493Z         "impl": {
2026-06-17T00:59:16.2905597Z           "complete": true,
2026-06-17T00:59:16.2905702Z           "evidence": [
2026-06-17T00:59:16.2905801Z             {
2026-06-17T00:59:16.2905952Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T00:59:16.2906053Z               "line": 16
2026-06-17T00:59:16.2906158Z             }
2026-06-17T00:59:16.2906267Z           ]
2026-06-17T00:59:16.2906363Z         },
2026-06-17T00:59:16.2906473Z         "int": {
2026-06-17T00:59:16.2906581Z           "complete": false,
2026-06-17T00:59:16.2906697Z           "evidence": []
2026-06-17T00:59:16.2906797Z         },
2026-06-17T00:59:16.2906905Z         "unit": {
2026-06-17T00:59:16.2907021Z           "complete": true,
2026-06-17T00:59:16.2907116Z           "evidence": [
2026-06-17T00:59:16.2907322Z             {
2026-06-17T00:59:16.2907460Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T00:59:16.2907569Z               "line": 43
2026-06-17T00:59:16.2907670Z             },
2026-06-17T00:59:16.2907769Z             {
2026-06-17T00:59:16.2907908Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T00:59:16.2908013Z               "line": 59
2026-06-17T00:59:16.2908122Z             }
2026-06-17T00:59:16.2908223Z           ]
2026-06-17T00:59:16.2908328Z         }
2026-06-17T00:59:16.2908427Z       }
2026-06-17T00:59:16.2908526Z     },
2026-06-17T00:59:16.2908692Z     {
2026-06-17T00:59:16.2908805Z       "id": "REQ-START-2",
2026-06-17T00:59:16.2909063Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-17T00:59:16.2909177Z       "requiredStages": [
2026-06-17T00:59:16.2909283Z         "impl",
2026-06-17T00:59:16.2909392Z         "unit",
2026-06-17T00:59:16.2909497Z         "int"
2026-06-17T00:59:16.2909603Z       ],
2026-06-17T00:59:16.2909712Z       "stages": {
2026-06-17T00:59:16.2909812Z         "doc": {
2026-06-17T00:59:16.2909927Z           "complete": false,
2026-06-17T00:59:16.2910041Z           "evidence": []
2026-06-17T00:59:16.2910145Z         },
2026-06-17T00:59:16.2910246Z         "impl": {
2026-06-17T00:59:16.2910360Z           "complete": true,
2026-06-17T00:59:16.2910460Z           "evidence": [
2026-06-17T00:59:16.2910561Z             {
2026-06-17T00:59:16.2910699Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2910810Z               "line": 16
2026-06-17T00:59:16.2910905Z             },
2026-06-17T00:59:16.2911012Z             {
2026-06-17T00:59:16.2911160Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2911259Z               "line": 92
2026-06-17T00:59:16.2911362Z             },
2026-06-17T00:59:16.2911463Z             {
2026-06-17T00:59:16.2911597Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2911701Z               "line": 232
2026-06-17T00:59:16.2911817Z             }
2026-06-17T00:59:16.2911917Z           ]
2026-06-17T00:59:16.2912015Z         },
2026-06-17T00:59:16.2912122Z         "int": {
2026-06-17T00:59:16.2912226Z           "complete": true,
2026-06-17T00:59:16.2912330Z           "evidence": [
2026-06-17T00:59:16.2912436Z             {
2026-06-17T00:59:16.2912579Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.2912688Z               "line": 186
2026-06-17T00:59:16.2912790Z             }
2026-06-17T00:59:16.2912894Z           ]
2026-06-17T00:59:16.2912994Z         },
2026-06-17T00:59:16.2913109Z         "unit": {
2026-06-17T00:59:16.2913222Z           "complete": true,
2026-06-17T00:59:16.2913327Z           "evidence": [
2026-06-17T00:59:16.2913429Z             {
2026-06-17T00:59:16.2913561Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2913667Z               "line": 466
2026-06-17T00:59:16.2913767Z             },
2026-06-17T00:59:16.2913874Z             {
2026-06-17T00:59:16.2914017Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2914129Z               "line": 499
2026-06-17T00:59:16.2914227Z             }
2026-06-17T00:59:16.2914332Z           ]
2026-06-17T00:59:16.2914437Z         }
2026-06-17T00:59:16.2914537Z       }
2026-06-17T00:59:16.2914638Z     },
2026-06-17T00:59:16.2914738Z     {
2026-06-17T00:59:16.2914851Z       "id": "REQ-START-3",
2026-06-17T00:59:16.2915057Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-17T00:59:16.2915171Z       "requiredStages": [
2026-06-17T00:59:16.2915277Z         "impl",
2026-06-17T00:59:16.2915382Z         "unit",
2026-06-17T00:59:16.2915481Z         "int"
2026-06-17T00:59:16.2915582Z       ],
2026-06-17T00:59:16.2915683Z       "stages": {
2026-06-17T00:59:16.2915786Z         "doc": {
2026-06-17T00:59:16.2915896Z           "complete": false,
2026-06-17T00:59:16.2916011Z           "evidence": []
2026-06-17T00:59:16.2916110Z         },
2026-06-17T00:59:16.2916329Z         "impl": {
2026-06-17T00:59:16.2916441Z           "complete": true,
2026-06-17T00:59:16.2916546Z           "evidence": [
2026-06-17T00:59:16.2916652Z             {
2026-06-17T00:59:16.2916803Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2916904Z               "line": 23
2026-06-17T00:59:16.2917009Z             },
2026-06-17T00:59:16.2917109Z             {
2026-06-17T00:59:16.2917253Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2917366Z               "line": 205
2026-06-17T00:59:16.2917466Z             },
2026-06-17T00:59:16.2917568Z             {
2026-06-17T00:59:16.2917810Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2917920Z               "line": 221
2026-06-17T00:59:16.2918024Z             },
2026-06-17T00:59:16.2918124Z             {
2026-06-17T00:59:16.2918268Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2918373Z               "line": 17
2026-06-17T00:59:16.2918473Z             },
2026-06-17T00:59:16.2918573Z             {
2026-06-17T00:59:16.2918716Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2918822Z               "line": 35
2026-06-17T00:59:16.2918921Z             },
2026-06-17T00:59:16.2919120Z             {
2026-06-17T00:59:16.2919257Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2919360Z               "line": 93
2026-06-17T00:59:16.2919476Z             }
2026-06-17T00:59:16.2919576Z           ]
2026-06-17T00:59:16.2919675Z         },
2026-06-17T00:59:16.2919766Z         "int": {
2026-06-17T00:59:16.2919876Z           "complete": true,
2026-06-17T00:59:16.2919995Z           "evidence": [
2026-06-17T00:59:16.2920096Z             {
2026-06-17T00:59:16.2920248Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T00:59:16.2920352Z               "line": 488
2026-06-17T00:59:16.2920458Z             }
2026-06-17T00:59:16.2920558Z           ]
2026-06-17T00:59:16.2920662Z         },
2026-06-17T00:59:16.2920783Z         "unit": {
2026-06-17T00:59:16.2920896Z           "complete": true,
2026-06-17T00:59:16.2921001Z           "evidence": [
2026-06-17T00:59:16.2921102Z             {
2026-06-17T00:59:16.2921249Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2921355Z               "line": 331
2026-06-17T00:59:16.2921455Z             },
2026-06-17T00:59:16.2921563Z             {
2026-06-17T00:59:16.2921706Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2921824Z               "line": 352
2026-06-17T00:59:16.2921917Z             },
2026-06-17T00:59:16.2922028Z             {
2026-06-17T00:59:16.2922171Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T00:59:16.2922285Z               "line": 362
2026-06-17T00:59:16.2922391Z             },
2026-06-17T00:59:16.2922500Z             {
2026-06-17T00:59:16.2922643Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2922753Z               "line": 467
2026-06-17T00:59:16.2922862Z             },
2026-06-17T00:59:16.2922963Z             {
2026-06-17T00:59:16.2923105Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2923219Z               "line": 500
2026-06-17T00:59:16.2923321Z             },
2026-06-17T00:59:16.2923429Z             {
2026-06-17T00:59:16.2923563Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T00:59:16.2923669Z               "line": 508
2026-06-17T00:59:16.2923777Z             }
2026-06-17T00:59:16.2923878Z           ]
2026-06-17T00:59:16.2923979Z         }
2026-06-17T00:59:16.2924082Z       }
2026-06-17T00:59:16.2924188Z     },
2026-06-17T00:59:16.2924289Z     {
2026-06-17T00:59:16.2924402Z       "id": "REQ-START-4",
2026-06-17T00:59:16.2924563Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-17T00:59:16.2924679Z       "requiredStages": [
2026-06-17T00:59:16.2924782Z         "impl",
2026-06-17T00:59:16.2924888Z         "unit"
2026-06-17T00:59:16.2924993Z       ],
2026-06-17T00:59:16.2925198Z       "stages": {
2026-06-17T00:59:16.2925303Z         "doc": {
2026-06-17T00:59:16.2925416Z           "complete": false,
2026-06-17T00:59:16.2925532Z           "evidence": []
2026-06-17T00:59:16.2925632Z         },
2026-06-17T00:59:16.2925736Z         "impl": {
2026-06-17T00:59:16.2925856Z           "complete": true,
2026-06-17T00:59:16.2925965Z           "evidence": [
2026-06-17T00:59:16.2926079Z             {
2026-06-17T00:59:16.2926214Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2926327Z               "line": 581
2026-06-17T00:59:16.2926428Z             }
2026-06-17T00:59:16.2926627Z           ]
2026-06-17T00:59:16.2926732Z         },
2026-06-17T00:59:16.2926837Z         "int": {
2026-06-17T00:59:16.2926963Z           "complete": false,
2026-06-17T00:59:16.2927077Z           "evidence": []
2026-06-17T00:59:16.2927183Z         },
2026-06-17T00:59:16.2927288Z         "unit": {
2026-06-17T00:59:16.2927396Z           "complete": true,
2026-06-17T00:59:16.2927508Z           "evidence": [
2026-06-17T00:59:16.2927602Z             {
2026-06-17T00:59:16.2927755Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.2927865Z               "line": 1022
2026-06-17T00:59:16.2927969Z             }
2026-06-17T00:59:16.2928075Z           ]
2026-06-17T00:59:16.2928179Z         }
2026-06-17T00:59:16.2928279Z       }
2026-06-17T00:59:16.2928379Z     },
2026-06-17T00:59:16.2928480Z     {
2026-06-17T00:59:16.2928598Z       "id": "REQ-STORE-1",
2026-06-17T00:59:16.2929589Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-17T00:59:16.2929714Z       "requiredStages": [
2026-06-17T00:59:16.2929821Z         "impl",
2026-06-17T00:59:16.2929925Z         "unit"
2026-06-17T00:59:16.2930031Z       ],
2026-06-17T00:59:16.2930136Z       "stages": {
2026-06-17T00:59:16.2930240Z         "doc": {
2026-06-17T00:59:16.2930356Z           "complete": false,
2026-06-17T00:59:16.2930470Z           "evidence": []
2026-06-17T00:59:16.2930569Z         },
2026-06-17T00:59:16.2930671Z         "impl": {
2026-06-17T00:59:16.2930789Z           "complete": true,
2026-06-17T00:59:16.2930898Z           "evidence": [
2026-06-17T00:59:16.2930995Z             {
2026-06-17T00:59:16.2931151Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2931271Z               "line": 23
2026-06-17T00:59:16.2931376Z             },
2026-06-17T00:59:16.2931485Z             {
2026-06-17T00:59:16.2931639Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2931738Z               "line": 46
2026-06-17T00:59:16.2931838Z             },
2026-06-17T00:59:16.2931944Z             {
2026-06-17T00:59:16.2932095Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2932194Z               "line": 97
2026-06-17T00:59:16.2932299Z             },
2026-06-17T00:59:16.2932402Z             {
2026-06-17T00:59:16.2932549Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2932651Z               "line": 125
2026-06-17T00:59:16.2932755Z             },
2026-06-17T00:59:16.2932860Z             {
2026-06-17T00:59:16.2933008Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2933121Z               "line": 181
2026-06-17T00:59:16.2933228Z             },
2026-06-17T00:59:16.2933327Z             {
2026-06-17T00:59:16.2933474Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2933585Z               "line": 205
2026-06-17T00:59:16.2933689Z             },
2026-06-17T00:59:16.2933789Z             {
2026-06-17T00:59:16.2933942Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2934052Z               "line": 441
2026-06-17T00:59:16.2934152Z             },
2026-06-17T00:59:16.2934357Z             {
2026-06-17T00:59:16.2934511Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2934628Z               "line": 25
2026-06-17T00:59:16.2934728Z             },
2026-06-17T00:59:16.2934840Z             {
2026-06-17T00:59:16.2934995Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2935094Z               "line": 120
2026-06-17T00:59:16.2935191Z             },
2026-06-17T00:59:16.2935291Z             {
2026-06-17T00:59:16.2935448Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2935562Z               "line": 148
2026-06-17T00:59:16.2935778Z             },
2026-06-17T00:59:16.2935882Z             {
2026-06-17T00:59:16.2936034Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2936140Z               "line": 165
2026-06-17T00:59:16.2936239Z             },
2026-06-17T00:59:16.2936334Z             {
2026-06-17T00:59:16.2936479Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2936588Z               "line": 180
2026-06-17T00:59:16.2936697Z             },
2026-06-17T00:59:16.2939426Z             {
2026-06-17T00:59:16.2939632Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2939745Z               "line": 198
2026-06-17T00:59:16.2939841Z             },
2026-06-17T00:59:16.2939947Z             {
2026-06-17T00:59:16.2940112Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2940226Z               "line": 207
2026-06-17T00:59:16.2940317Z             },
2026-06-17T00:59:16.2940419Z             {
2026-06-17T00:59:16.2940581Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T00:59:16.2940701Z               "line": 16
2026-06-17T00:59:16.2940800Z             },
2026-06-17T00:59:16.2940901Z             {
2026-06-17T00:59:16.2941049Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T00:59:16.2941157Z               "line": 63
2026-06-17T00:59:16.2941264Z             }
2026-06-17T00:59:16.2941368Z           ]
2026-06-17T00:59:16.2941468Z         },
2026-06-17T00:59:16.2941579Z         "int": {
2026-06-17T00:59:16.2941692Z           "complete": false,
2026-06-17T00:59:16.2941797Z           "evidence": []
2026-06-17T00:59:16.2941898Z         },
2026-06-17T00:59:16.2941997Z         "unit": {
2026-06-17T00:59:16.2942098Z           "complete": true,
2026-06-17T00:59:16.2942204Z           "evidence": [
2026-06-17T00:59:16.2942302Z             {
2026-06-17T00:59:16.2942451Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2942556Z               "line": 558
2026-06-17T00:59:16.2942660Z             },
2026-06-17T00:59:16.2942759Z             {
2026-06-17T00:59:16.2942897Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2943010Z               "line": 568
2026-06-17T00:59:16.2943114Z             },
2026-06-17T00:59:16.2943216Z             {
2026-06-17T00:59:16.2943362Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2943463Z               "line": 590
2026-06-17T00:59:16.2943559Z             },
2026-06-17T00:59:16.2943663Z             {
2026-06-17T00:59:16.2943816Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2943921Z               "line": 606
2026-06-17T00:59:16.2944020Z             },
2026-06-17T00:59:16.2944117Z             {
2026-06-17T00:59:16.2944264Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T00:59:16.2944373Z               "line": 629
2026-06-17T00:59:16.2944474Z             },
2026-06-17T00:59:16.2944579Z             {
2026-06-17T00:59:16.2944737Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2944845Z               "line": 472
2026-06-17T00:59:16.2944950Z             },
2026-06-17T00:59:16.2945052Z             {
2026-06-17T00:59:16.2945203Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T00:59:16.2945308Z               "line": 507
2026-06-17T00:59:16.2945531Z             },
2026-06-17T00:59:16.2945636Z             {
2026-06-17T00:59:16.2945775Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T00:59:16.2945879Z               "line": 120
2026-06-17T00:59:16.2945979Z             },
2026-06-17T00:59:16.2946080Z             {
2026-06-17T00:59:16.2946222Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T00:59:16.2946328Z               "line": 128
2026-06-17T00:59:16.2946423Z             }
2026-06-17T00:59:16.2946523Z           ]
2026-06-17T00:59:16.2946623Z         }
2026-06-17T00:59:16.2946724Z       }
2026-06-17T00:59:16.2946923Z     },
2026-06-17T00:59:16.2947029Z     {
2026-06-17T00:59:16.2947143Z       "id": "REQ-SUBNET-1",
2026-06-17T00:59:16.2947505Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-17T00:59:16.2947626Z       "requiredStages": [
2026-06-17T00:59:16.2947729Z         "impl",
2026-06-17T00:59:16.2947833Z         "unit"
2026-06-17T00:59:16.2947938Z       ],
2026-06-17T00:59:16.2948047Z       "stages": {
2026-06-17T00:59:16.2948150Z         "doc": {
2026-06-17T00:59:16.2948265Z           "complete": false,
2026-06-17T00:59:16.2948376Z           "evidence": []
2026-06-17T00:59:16.2948479Z         },
2026-06-17T00:59:16.2948584Z         "impl": {
2026-06-17T00:59:16.2948694Z           "complete": true,
2026-06-17T00:59:16.2948808Z           "evidence": [
2026-06-17T00:59:16.2948904Z             {
2026-06-17T00:59:16.2949142Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2949262Z               "line": 281
2026-06-17T00:59:16.2949362Z             },
2026-06-17T00:59:16.2949466Z             {
2026-06-17T00:59:16.2949629Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2949733Z               "line": 599
2026-06-17T00:59:16.2949834Z             },
2026-06-17T00:59:16.2949930Z             {
2026-06-17T00:59:16.2950057Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2950168Z               "line": 3123
2026-06-17T00:59:16.2950263Z             },
2026-06-17T00:59:16.2950368Z             {
2026-06-17T00:59:16.2950497Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2950602Z               "line": 3433
2026-06-17T00:59:16.2950705Z             },
2026-06-17T00:59:16.2950805Z             {
2026-06-17T00:59:16.2950933Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2951036Z               "line": 3452
2026-06-17T00:59:16.2951141Z             },
2026-06-17T00:59:16.2951242Z             {
2026-06-17T00:59:16.2951365Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2951471Z               "line": 3516
2026-06-17T00:59:16.2951566Z             },
2026-06-17T00:59:16.2951670Z             {
2026-06-17T00:59:16.2951791Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2951900Z               "line": 3558
2026-06-17T00:59:16.2951999Z             },
2026-06-17T00:59:16.2952110Z             {
2026-06-17T00:59:16.2952233Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2952338Z               "line": 3747
2026-06-17T00:59:16.2952440Z             },
2026-06-17T00:59:16.2952538Z             {
2026-06-17T00:59:16.2952667Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2952769Z               "line": 3817
2026-06-17T00:59:16.2952858Z             },
2026-06-17T00:59:16.2952953Z             {
2026-06-17T00:59:16.2953079Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2953196Z               "line": 4041
2026-06-17T00:59:16.2953295Z             },
2026-06-17T00:59:16.2953405Z             {
2026-06-17T00:59:16.2953536Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2953636Z               "line": 4678
2026-06-17T00:59:16.2953737Z             },
2026-06-17T00:59:16.2953837Z             {
2026-06-17T00:59:16.2953975Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2954076Z               "line": 418
2026-06-17T00:59:16.2954275Z             }
2026-06-17T00:59:16.2954381Z           ]
2026-06-17T00:59:16.2954481Z         },
2026-06-17T00:59:16.2954590Z         "int": {
2026-06-17T00:59:16.2954696Z           "complete": false,
2026-06-17T00:59:16.2954800Z           "evidence": []
2026-06-17T00:59:16.2954900Z         },
2026-06-17T00:59:16.2955002Z         "unit": {
2026-06-17T00:59:16.2955110Z           "complete": true,
2026-06-17T00:59:16.2955210Z           "evidence": [
2026-06-17T00:59:16.2955316Z             {
2026-06-17T00:59:16.2955463Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2955669Z               "line": 1477
2026-06-17T00:59:16.2955772Z             },
2026-06-17T00:59:16.2955883Z             {
2026-06-17T00:59:16.2956007Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2956106Z               "line": 9188
2026-06-17T00:59:16.2956210Z             },
2026-06-17T00:59:16.2956316Z             {
2026-06-17T00:59:16.2956440Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2956558Z               "line": 9358
2026-06-17T00:59:16.2956660Z             },
2026-06-17T00:59:16.2956759Z             {
2026-06-17T00:59:16.2956878Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2956988Z               "line": 9365
2026-06-17T00:59:16.2957088Z             },
2026-06-17T00:59:16.2957193Z             {
2026-06-17T00:59:16.2957317Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2957421Z               "line": 9418
2026-06-17T00:59:16.2957532Z             },
2026-06-17T00:59:16.2957632Z             {
2026-06-17T00:59:16.2957769Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2957871Z               "line": 9435
2026-06-17T00:59:16.2957970Z             },
2026-06-17T00:59:16.2958080Z             {
2026-06-17T00:59:16.2958209Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2958318Z               "line": 9465
2026-06-17T00:59:16.2958417Z             },
2026-06-17T00:59:16.2958517Z             {
2026-06-17T00:59:16.2958649Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2958753Z               "line": 9564
2026-06-17T00:59:16.2958858Z             },
2026-06-17T00:59:16.2959044Z             {
2026-06-17T00:59:16.2959178Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2959283Z               "line": 9715
2026-06-17T00:59:16.2959397Z             }
2026-06-17T00:59:16.2959498Z           ]
2026-06-17T00:59:16.2959598Z         }
2026-06-17T00:59:16.2959697Z       }
2026-06-17T00:59:16.2959803Z     },
2026-06-17T00:59:16.2959907Z     {
2026-06-17T00:59:16.2960021Z       "id": "REQ-SUBNET-2",
2026-06-17T00:59:16.2960298Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-17T00:59:16.2960404Z       "requiredStages": [
2026-06-17T00:59:16.2960509Z         "impl",
2026-06-17T00:59:16.2960609Z         "unit",
2026-06-17T00:59:16.2960704Z         "int"
2026-06-17T00:59:16.2960805Z       ],
2026-06-17T00:59:16.2960913Z       "stages": {
2026-06-17T00:59:16.2961014Z         "doc": {
2026-06-17T00:59:16.2961125Z           "complete": true,
2026-06-17T00:59:16.2961232Z           "evidence": [
2026-06-17T00:59:16.2961336Z             {
2026-06-17T00:59:16.2961516Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-17T00:59:16.2961620Z               "line": 60
2026-06-17T00:59:16.2961716Z             }
2026-06-17T00:59:16.2961822Z           ]
2026-06-17T00:59:16.2961920Z         },
2026-06-17T00:59:16.2962031Z         "impl": {
2026-06-17T00:59:16.2962146Z           "complete": true,
2026-06-17T00:59:16.2962254Z           "evidence": [
2026-06-17T00:59:16.2962356Z             {
2026-06-17T00:59:16.2962503Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.2962612Z               "line": 837
2026-06-17T00:59:16.2962709Z             },
2026-06-17T00:59:16.2962818Z             {
2026-06-17T00:59:16.2962966Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.2963170Z               "line": 1190
2026-06-17T00:59:16.2963271Z             },
2026-06-17T00:59:16.2963371Z             {
2026-06-17T00:59:16.2963518Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2963624Z               "line": 611
2026-06-17T00:59:16.2963723Z             },
2026-06-17T00:59:16.2963827Z             {
2026-06-17T00:59:16.2963965Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T00:59:16.2964064Z               "line": 743
2026-06-17T00:59:16.2964163Z             },
2026-06-17T00:59:16.2964268Z             {
2026-06-17T00:59:16.2964515Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2964627Z               "line": 26
2026-06-17T00:59:16.2964731Z             },
2026-06-17T00:59:16.2964826Z             {
2026-06-17T00:59:16.2964974Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2965079Z               "line": 60
2026-06-17T00:59:16.2965179Z             },
2026-06-17T00:59:16.2965289Z             {
2026-06-17T00:59:16.2965426Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2965537Z               "line": 168
2026-06-17T00:59:16.2965642Z             },
2026-06-17T00:59:16.2965741Z             {
2026-06-17T00:59:16.2965886Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2965999Z               "line": 295
2026-06-17T00:59:16.2966104Z             },
2026-06-17T00:59:16.2966206Z             {
2026-06-17T00:59:16.2966357Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2966468Z               "line": 417
2026-06-17T00:59:16.2966567Z             },
2026-06-17T00:59:16.2966666Z             {
2026-06-17T00:59:16.2966828Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T00:59:16.2966929Z               "line": 252
2026-06-17T00:59:16.2967023Z             },
2026-06-17T00:59:16.2967128Z             {
2026-06-17T00:59:16.2967262Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2967380Z               "line": 3479
2026-06-17T00:59:16.2967477Z             },
2026-06-17T00:59:16.2967582Z             {
2026-06-17T00:59:16.2967704Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2967806Z               "line": 3980
2026-06-17T00:59:16.2967906Z             },
2026-06-17T00:59:16.2968005Z             {
2026-06-17T00:59:16.2968131Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2968235Z               "line": 4609
2026-06-17T00:59:16.2968334Z             }
2026-06-17T00:59:16.2968441Z           ]
2026-06-17T00:59:16.2968544Z         },
2026-06-17T00:59:16.2968640Z         "int": {
2026-06-17T00:59:16.2968756Z           "complete": true,
2026-06-17T00:59:16.2968868Z           "evidence": [
2026-06-17T00:59:16.2969049Z             {
2026-06-17T00:59:16.2969209Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-17T00:59:16.2969308Z               "line": 22
2026-06-17T00:59:16.2969414Z             },
2026-06-17T00:59:16.2969519Z             {
2026-06-17T00:59:16.2969661Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2969772Z               "line": 643
2026-06-17T00:59:16.2969872Z             },
2026-06-17T00:59:16.2969976Z             {
2026-06-17T00:59:16.2970120Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.2970219Z               "line": 885
2026-06-17T00:59:16.2970320Z             }
2026-06-17T00:59:16.2970420Z           ]
2026-06-17T00:59:16.2970525Z         },
2026-06-17T00:59:16.2970625Z         "unit": {
2026-06-17T00:59:16.2970749Z           "complete": true,
2026-06-17T00:59:16.2970854Z           "evidence": [
2026-06-17T00:59:16.2970954Z             {
2026-06-17T00:59:16.2971106Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2971206Z               "line": 586
2026-06-17T00:59:16.2971303Z             },
2026-06-17T00:59:16.2971407Z             {
2026-06-17T00:59:16.2971530Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2971759Z               "line": 9228
2026-06-17T00:59:16.2971858Z             },
2026-06-17T00:59:16.2971954Z             {
2026-06-17T00:59:16.2972081Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2972195Z               "line": 9922
2026-06-17T00:59:16.2972290Z             }
2026-06-17T00:59:16.2972396Z           ]
2026-06-17T00:59:16.2972485Z         }
2026-06-17T00:59:16.2972586Z       }
2026-06-17T00:59:16.2972686Z     },
2026-06-17T00:59:16.2972785Z     {
2026-06-17T00:59:16.2972901Z       "id": "REQ-SUBNET-3",
2026-06-17T00:59:16.2973307Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-17T00:59:16.2973425Z       "requiredStages": [
2026-06-17T00:59:16.2973526Z         "impl",
2026-06-17T00:59:16.2973626Z         "unit"
2026-06-17T00:59:16.2973726Z       ],
2026-06-17T00:59:16.2973826Z       "stages": {
2026-06-17T00:59:16.2973932Z         "doc": {
2026-06-17T00:59:16.2974040Z           "complete": false,
2026-06-17T00:59:16.2974146Z           "evidence": []
2026-06-17T00:59:16.2974251Z         },
2026-06-17T00:59:16.2974349Z         "impl": {
2026-06-17T00:59:16.2974458Z           "complete": true,
2026-06-17T00:59:16.2974559Z           "evidence": [
2026-06-17T00:59:16.2974657Z             {
2026-06-17T00:59:16.2974814Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2974925Z               "line": 152
2026-06-17T00:59:16.2975028Z             },
2026-06-17T00:59:16.2975124Z             {
2026-06-17T00:59:16.2975282Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2975391Z               "line": 299
2026-06-17T00:59:16.2975492Z             },
2026-06-17T00:59:16.2975592Z             {
2026-06-17T00:59:16.2975749Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2975854Z               "line": 437
2026-06-17T00:59:16.2975954Z             },
2026-06-17T00:59:16.2976058Z             {
2026-06-17T00:59:16.2976206Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2976316Z               "line": 480
2026-06-17T00:59:16.2976417Z             },
2026-06-17T00:59:16.2976521Z             {
2026-06-17T00:59:16.2976655Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2976761Z               "line": 125
2026-06-17T00:59:16.2976868Z             },
2026-06-17T00:59:16.2976969Z             {
2026-06-17T00:59:16.2977123Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2977231Z               "line": 253
2026-06-17T00:59:16.2977335Z             },
2026-06-17T00:59:16.2977436Z             {
2026-06-17T00:59:16.2977578Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2977684Z               "line": 264
2026-06-17T00:59:16.2977784Z             },
2026-06-17T00:59:16.2977893Z             {
2026-06-17T00:59:16.2978038Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2978142Z               "line": 285
2026-06-17T00:59:16.2978246Z             },
2026-06-17T00:59:16.2978352Z             {
2026-06-17T00:59:16.2978490Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2978594Z               "line": 589
2026-06-17T00:59:16.2978691Z             },
2026-06-17T00:59:16.2978790Z             {
2026-06-17T00:59:16.2978933Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2979138Z               "line": 648
2026-06-17T00:59:16.2979228Z             },
2026-06-17T00:59:16.2979339Z             {
2026-06-17T00:59:16.2979508Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2979618Z               "line": 61
2026-06-17T00:59:16.2979722Z             },
2026-06-17T00:59:16.2979826Z             {
2026-06-17T00:59:16.2979974Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2980079Z               "line": 90
2026-06-17T00:59:16.2980284Z             },
2026-06-17T00:59:16.2980384Z             {
2026-06-17T00:59:16.2980536Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2980647Z               "line": 125
2026-06-17T00:59:16.2980741Z             },
2026-06-17T00:59:16.2980836Z             {
2026-06-17T00:59:16.2980966Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-17T00:59:16.2981070Z               "line": 9
2026-06-17T00:59:16.2981171Z             },
2026-06-17T00:59:16.2981271Z             {
2026-06-17T00:59:16.2981399Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2981509Z               "line": 3817
2026-06-17T00:59:16.2981714Z             },
2026-06-17T00:59:16.2981820Z             {
2026-06-17T00:59:16.2981953Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.2982063Z               "line": 445
2026-06-17T00:59:16.2982168Z             }
2026-06-17T00:59:16.2982268Z           ]
2026-06-17T00:59:16.2982366Z         },
2026-06-17T00:59:16.2982476Z         "int": {
2026-06-17T00:59:16.2982594Z           "complete": false,
2026-06-17T00:59:16.2982693Z           "evidence": []
2026-06-17T00:59:16.2982793Z         },
2026-06-17T00:59:16.2982904Z         "unit": {
2026-06-17T00:59:16.2983022Z           "complete": true,
2026-06-17T00:59:16.2983117Z           "evidence": [
2026-06-17T00:59:16.2983223Z             {
2026-06-17T00:59:16.2983379Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2983490Z               "line": 1304
2026-06-17T00:59:16.2983590Z             },
2026-06-17T00:59:16.2983694Z             {
2026-06-17T00:59:16.2983857Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.2983966Z               "line": 1606
2026-06-17T00:59:16.2984066Z             },
2026-06-17T00:59:16.2984172Z             {
2026-06-17T00:59:16.2984319Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.2984425Z               "line": 888
2026-06-17T00:59:16.2984525Z             },
2026-06-17T00:59:16.2984624Z             {
2026-06-17T00:59:16.2984768Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2984877Z               "line": 959
2026-06-17T00:59:16.2984976Z             },
2026-06-17T00:59:16.2985081Z             {
2026-06-17T00:59:16.2985226Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2985340Z               "line": 1009
2026-06-17T00:59:16.2985451Z             },
2026-06-17T00:59:16.2985551Z             {
2026-06-17T00:59:16.2985699Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.2985813Z               "line": 1068
2026-06-17T00:59:16.2985917Z             },
2026-06-17T00:59:16.2986023Z             {
2026-06-17T00:59:16.2986171Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T00:59:16.2986289Z               "line": 234
2026-06-17T00:59:16.2986381Z             },
2026-06-17T00:59:16.2986485Z             {
2026-06-17T00:59:16.2986618Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-17T00:59:16.2986739Z               "line": 49
2026-06-17T00:59:16.2986838Z             },
2026-06-17T00:59:16.2986938Z             {
2026-06-17T00:59:16.2987068Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2987176Z               "line": 9564
2026-06-17T00:59:16.2987273Z             },
2026-06-17T00:59:16.2987378Z             {
2026-06-17T00:59:16.2987501Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2987607Z               "line": 9670
2026-06-17T00:59:16.2987711Z             },
2026-06-17T00:59:16.2987815Z             {
2026-06-17T00:59:16.2987943Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2988054Z               "line": 9888
2026-06-17T00:59:16.2988158Z             }
2026-06-17T00:59:16.2988258Z           ]
2026-06-17T00:59:16.2988363Z         }
2026-06-17T00:59:16.2988467Z       }
2026-06-17T00:59:16.2988568Z     },
2026-06-17T00:59:16.2988668Z     {
2026-06-17T00:59:16.2988782Z       "id": "REQ-SUBNET-4",
2026-06-17T00:59:16.2989261Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-17T00:59:16.2989393Z       "requiredStages": [
2026-06-17T00:59:16.2989508Z         "impl",
2026-06-17T00:59:16.2989608Z         "unit"
2026-06-17T00:59:16.2989712Z       ],
2026-06-17T00:59:16.2989817Z       "stages": {
2026-06-17T00:59:16.2989923Z         "doc": {
2026-06-17T00:59:16.2990027Z           "complete": true,
2026-06-17T00:59:16.2990140Z           "evidence": [
2026-06-17T00:59:16.2990236Z             {
2026-06-17T00:59:16.2990409Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-17T00:59:16.2990625Z               "line": 60
2026-06-17T00:59:16.2990720Z             }
2026-06-17T00:59:16.2990820Z           ]
2026-06-17T00:59:16.2990925Z         },
2026-06-17T00:59:16.2991025Z         "impl": {
2026-06-17T00:59:16.2991135Z           "complete": true,
2026-06-17T00:59:16.2991240Z           "evidence": [
2026-06-17T00:59:16.2991344Z             {
2026-06-17T00:59:16.2991470Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2991583Z               "line": 3123
2026-06-17T00:59:16.2991678Z             },
2026-06-17T00:59:16.2991784Z             {
2026-06-17T00:59:16.2991902Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2992012Z               "line": 4576
2026-06-17T00:59:16.2992118Z             },
2026-06-17T00:59:16.2992222Z             {
2026-06-17T00:59:16.2992345Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2992443Z               "line": 4609
2026-06-17T00:59:16.2992550Z             }
2026-06-17T00:59:16.2992660Z           ]
2026-06-17T00:59:16.2992753Z         },
2026-06-17T00:59:16.2992851Z         "int": {
2026-06-17T00:59:16.2992964Z           "complete": false,
2026-06-17T00:59:16.2993084Z           "evidence": []
2026-06-17T00:59:16.2993187Z         },
2026-06-17T00:59:16.2993291Z         "unit": {
2026-06-17T00:59:16.2993406Z           "complete": true,
2026-06-17T00:59:16.2993511Z           "evidence": [
2026-06-17T00:59:16.2993610Z             {
2026-06-17T00:59:16.2993731Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2993845Z               "line": 9344
2026-06-17T00:59:16.2993953Z             },
2026-06-17T00:59:16.2994060Z             {
2026-06-17T00:59:16.2994183Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.2994288Z               "line": 9418
2026-06-17T00:59:16.2994393Z             }
2026-06-17T00:59:16.2994488Z           ]
2026-06-17T00:59:16.2994593Z         }
2026-06-17T00:59:16.2994694Z       }
2026-06-17T00:59:16.2994803Z     },
2026-06-17T00:59:16.2994908Z     {
2026-06-17T00:59:16.2995009Z       "id": "REQ-SUBNET-5",
2026-06-17T00:59:16.2996273Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-17T00:59:16.2996407Z       "requiredStages": [
2026-06-17T00:59:16.2996506Z         "impl",
2026-06-17T00:59:16.2996607Z         "unit",
2026-06-17T00:59:16.2996712Z         "int"
2026-06-17T00:59:16.2996811Z       ],
2026-06-17T00:59:16.2996912Z       "stages": {
2026-06-17T00:59:16.2997021Z         "doc": {
2026-06-17T00:59:16.2997131Z           "complete": false,
2026-06-17T00:59:16.2997247Z           "evidence": []
2026-06-17T00:59:16.2997350Z         },
2026-06-17T00:59:16.2997465Z         "impl": {
2026-06-17T00:59:16.2997585Z           "complete": true,
2026-06-17T00:59:16.2997688Z           "evidence": [
2026-06-17T00:59:16.2997794Z             {
2026-06-17T00:59:16.2997943Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T00:59:16.2998061Z               "line": 128
2026-06-17T00:59:16.2998167Z             },
2026-06-17T00:59:16.2998365Z             {
2026-06-17T00:59:16.2998532Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T00:59:16.2998642Z               "line": 413
2026-06-17T00:59:16.2998746Z             },
2026-06-17T00:59:16.2998847Z             {
2026-06-17T00:59:16.2999080Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.2999196Z               "line": 74
2026-06-17T00:59:16.2999300Z             },
2026-06-17T00:59:16.2999409Z             {
2026-06-17T00:59:16.2999567Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.2999676Z               "line": 332
2026-06-17T00:59:16.2999877Z             },
2026-06-17T00:59:16.2999981Z             {
2026-06-17T00:59:16.3000121Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.3000229Z               "line": 621
2026-06-17T00:59:16.3000325Z             },
2026-06-17T00:59:16.3000426Z             {
2026-06-17T00:59:16.3000587Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.3000695Z               "line": 31
2026-06-17T00:59:16.3000796Z             },
2026-06-17T00:59:16.3000898Z             {
2026-06-17T00:59:16.3001042Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.3001157Z               "line": 50
2026-06-17T00:59:16.3001251Z             },
2026-06-17T00:59:16.3001361Z             {
2026-06-17T00:59:16.3001519Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.3001623Z               "line": 69
2026-06-17T00:59:16.3001729Z             },
2026-06-17T00:59:16.3001829Z             {
2026-06-17T00:59:16.3001981Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.3002081Z               "line": 113
2026-06-17T00:59:16.3002186Z             },
2026-06-17T00:59:16.3002291Z             {
2026-06-17T00:59:16.3002434Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T00:59:16.3002553Z               "line": 25
2026-06-17T00:59:16.3002649Z             },
2026-06-17T00:59:16.3002753Z             {
2026-06-17T00:59:16.3002896Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T00:59:16.3003008Z               "line": 34
2026-06-17T00:59:16.3003110Z             },
2026-06-17T00:59:16.3003207Z             {
2026-06-17T00:59:16.3003360Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T00:59:16.3003463Z               "line": 17
2026-06-17T00:59:16.3003567Z             },
2026-06-17T00:59:16.3003668Z             {
2026-06-17T00:59:16.3003804Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3003909Z               "line": 4534
2026-06-17T00:59:16.3004014Z             },
2026-06-17T00:59:16.3004119Z             {
2026-06-17T00:59:16.3004242Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T00:59:16.3004348Z               "line": 419
2026-06-17T00:59:16.3004452Z             }
2026-06-17T00:59:16.3004553Z           ]
2026-06-17T00:59:16.3004648Z         },
2026-06-17T00:59:16.3004753Z         "int": {
2026-06-17T00:59:16.3004853Z           "complete": true,
2026-06-17T00:59:16.3004963Z           "evidence": [
2026-06-17T00:59:16.3005068Z             {
2026-06-17T00:59:16.3005206Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.3005311Z               "line": 817
2026-06-17T00:59:16.3005415Z             }
2026-06-17T00:59:16.3005516Z           ]
2026-06-17T00:59:16.3005621Z         },
2026-06-17T00:59:16.3005725Z         "unit": {
2026-06-17T00:59:16.3005846Z           "complete": true,
2026-06-17T00:59:16.3005950Z           "evidence": [
2026-06-17T00:59:16.3006058Z             {
2026-06-17T00:59:16.3006215Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.3006323Z               "line": 341
2026-06-17T00:59:16.3006432Z             },
2026-06-17T00:59:16.3006528Z             {
2026-06-17T00:59:16.3006676Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T00:59:16.3006790Z               "line": 1115
2026-06-17T00:59:16.3007005Z             },
2026-06-17T00:59:16.3007105Z             {
2026-06-17T00:59:16.3007253Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T00:59:16.3007366Z               "line": 151
2026-06-17T00:59:16.3007464Z             },
2026-06-17T00:59:16.3007568Z             {
2026-06-17T00:59:16.3007710Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T00:59:16.3007816Z               "line": 61
2026-06-17T00:59:16.3007911Z             },
2026-06-17T00:59:16.3008010Z             {
2026-06-17T00:59:16.3008169Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T00:59:16.3008349Z               "line": 111
2026-06-17T00:59:16.3008451Z             },
2026-06-17T00:59:16.3008559Z             {
2026-06-17T00:59:16.3008698Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T00:59:16.3008808Z               "line": 138
2026-06-17T00:59:16.3008911Z             },
2026-06-17T00:59:16.3009087Z             {
2026-06-17T00:59:16.3009226Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T00:59:16.3009335Z               "line": 148
2026-06-17T00:59:16.3009446Z             },
2026-06-17T00:59:16.3009546Z             {
2026-06-17T00:59:16.3009669Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3009770Z               "line": 9245
2026-06-17T00:59:16.3009870Z             }
2026-06-17T00:59:16.3009969Z           ]
2026-06-17T00:59:16.3010071Z         }
2026-06-17T00:59:16.3010175Z       }
2026-06-17T00:59:16.3010275Z     },
2026-06-17T00:59:16.3010376Z     {
2026-06-17T00:59:16.3010494Z       "id": "REQ-SUBNET-6",
2026-06-17T00:59:16.3011236Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-17T00:59:16.3011356Z       "requiredStages": [
2026-06-17T00:59:16.3011459Z         "impl",
2026-06-17T00:59:16.3011572Z         "unit"
2026-06-17T00:59:16.3011674Z       ],
2026-06-17T00:59:16.3011778Z       "stages": {
2026-06-17T00:59:16.3011873Z         "doc": {
2026-06-17T00:59:16.3011989Z           "complete": false,
2026-06-17T00:59:16.3012107Z           "evidence": []
2026-06-17T00:59:16.3012211Z         },
2026-06-17T00:59:16.3012308Z         "impl": {
2026-06-17T00:59:16.3012422Z           "complete": true,
2026-06-17T00:59:16.3012521Z           "evidence": [
2026-06-17T00:59:16.3012623Z             {
2026-06-17T00:59:16.3012765Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.3012890Z               "line": 254
2026-06-17T00:59:16.3012994Z             },
2026-06-17T00:59:16.3013099Z             {
2026-06-17T00:59:16.3013219Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3013337Z               "line": 4192
2026-06-17T00:59:16.3013442Z             },
2026-06-17T00:59:16.3013548Z             {
2026-06-17T00:59:16.3013675Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3013781Z               "line": 4209
2026-06-17T00:59:16.3013887Z             },
2026-06-17T00:59:16.3013985Z             {
2026-06-17T00:59:16.3014118Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3014223Z               "line": 4262
2026-06-17T00:59:16.3014326Z             },
2026-06-17T00:59:16.3014425Z             {
2026-06-17T00:59:16.3014555Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3014659Z               "line": 4285
2026-06-17T00:59:16.3014764Z             }
2026-06-17T00:59:16.3014861Z           ]
2026-06-17T00:59:16.3014965Z         },
2026-06-17T00:59:16.3015069Z         "int": {
2026-06-17T00:59:16.3015185Z           "complete": false,
2026-06-17T00:59:16.3015280Z           "evidence": []
2026-06-17T00:59:16.3015384Z         },
2026-06-17T00:59:16.3015490Z         "unit": {
2026-06-17T00:59:16.3015609Z           "complete": true,
2026-06-17T00:59:16.3015708Z           "evidence": [
2026-06-17T00:59:16.3015918Z             {
2026-06-17T00:59:16.3016052Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3016162Z               "line": 9259
2026-06-17T00:59:16.3016271Z             },
2026-06-17T00:59:16.3016367Z             {
2026-06-17T00:59:16.3019039Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3019177Z               "line": 9292
2026-06-17T00:59:16.3019287Z             },
2026-06-17T00:59:16.3019382Z             {
2026-06-17T00:59:16.3019528Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3019638Z               "line": 9301
2026-06-17T00:59:16.3019735Z             }
2026-06-17T00:59:16.3019977Z           ]
2026-06-17T00:59:16.3020082Z         }
2026-06-17T00:59:16.3020186Z       }
2026-06-17T00:59:16.3020287Z     },
2026-06-17T00:59:16.3020387Z     {
2026-06-17T00:59:16.3020505Z       "id": "REQ-SUBNET-7",
2026-06-17T00:59:16.3022214Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-17T00:59:16.3022339Z       "requiredStages": [
2026-06-17T00:59:16.3022443Z         "impl",
2026-06-17T00:59:16.3022539Z         "unit"
2026-06-17T00:59:16.3022644Z       ],
2026-06-17T00:59:16.3022753Z       "stages": {
2026-06-17T00:59:16.3022869Z         "doc": {
2026-06-17T00:59:16.3022973Z           "complete": false,
2026-06-17T00:59:16.3023091Z           "evidence": []
2026-06-17T00:59:16.3023198Z         },
2026-06-17T00:59:16.3023302Z         "impl": {
2026-06-17T00:59:16.3023415Z           "complete": true,
2026-06-17T00:59:16.3023522Z           "evidence": [
2026-06-17T00:59:16.3023631Z             {
2026-06-17T00:59:16.3023784Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T00:59:16.3023888Z               "line": 17
2026-06-17T00:59:16.3023988Z             },
2026-06-17T00:59:16.3024089Z             {
2026-06-17T00:59:16.3024235Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.3024336Z               "line": 103
2026-06-17T00:59:16.3024438Z             },
2026-06-17T00:59:16.3024536Z             {
2026-06-17T00:59:16.3024687Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T00:59:16.3024788Z               "line": 312
2026-06-17T00:59:16.3024895Z             },
2026-06-17T00:59:16.3025000Z             {
2026-06-17T00:59:16.3025158Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T00:59:16.3025257Z               "line": 131
2026-06-17T00:59:16.3025358Z             },
2026-06-17T00:59:16.3025459Z             {
2026-06-17T00:59:16.3025615Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3025717Z               "line": 160
2026-06-17T00:59:16.3025821Z             },
2026-06-17T00:59:16.3025920Z             {
2026-06-17T00:59:16.3026079Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3026192Z               "line": 441
2026-06-17T00:59:16.3026287Z             },
2026-06-17T00:59:16.3026384Z             {
2026-06-17T00:59:16.3026540Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3026641Z               "line": 618
2026-06-17T00:59:16.3026746Z             },
2026-06-17T00:59:16.3026845Z             {
2026-06-17T00:59:16.3027000Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3027108Z               "line": 658
2026-06-17T00:59:16.3027211Z             },
2026-06-17T00:59:16.3027312Z             {
2026-06-17T00:59:16.3027467Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3027566Z               "line": 714
2026-06-17T00:59:16.3027772Z             },
2026-06-17T00:59:16.3027862Z             {
2026-06-17T00:59:16.3028016Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.3028120Z               "line": 136
2026-06-17T00:59:16.3028225Z             },
2026-06-17T00:59:16.3028330Z             {
2026-06-17T00:59:16.3028473Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.3028579Z               "line": 139
2026-06-17T00:59:16.3028683Z             }
2026-06-17T00:59:16.3028778Z           ]
2026-06-17T00:59:16.3028874Z         },
2026-06-17T00:59:16.3029050Z         "int": {
2026-06-17T00:59:16.3029275Z           "complete": false,
2026-06-17T00:59:16.3029398Z           "evidence": []
2026-06-17T00:59:16.3029499Z         },
2026-06-17T00:59:16.3029599Z         "unit": {
2026-06-17T00:59:16.3029703Z           "complete": true,
2026-06-17T00:59:16.3029819Z           "evidence": [
2026-06-17T00:59:16.3029919Z             {
2026-06-17T00:59:16.3030074Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T00:59:16.3030174Z               "line": 136
2026-06-17T00:59:16.3030275Z             },
2026-06-17T00:59:16.3030375Z             {
2026-06-17T00:59:16.3030518Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T00:59:16.3030613Z               "line": 156
2026-06-17T00:59:16.3030717Z             },
2026-06-17T00:59:16.3030824Z             {
2026-06-17T00:59:16.3030971Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3031085Z               "line": 935
2026-06-17T00:59:16.3031195Z             },
2026-06-17T00:59:16.3031300Z             {
2026-06-17T00:59:16.3031453Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T00:59:16.3031562Z               "line": 957
2026-06-17T00:59:16.3031657Z             },
2026-06-17T00:59:16.3031758Z             {
2026-06-17T00:59:16.3031905Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T00:59:16.3032014Z               "line": 1419
2026-06-17T00:59:16.3032121Z             },
2026-06-17T00:59:16.3032220Z             {
2026-06-17T00:59:16.3032366Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T00:59:16.3032471Z               "line": 1004
2026-06-17T00:59:16.3032575Z             }
2026-06-17T00:59:16.3032679Z           ]
2026-06-17T00:59:16.3032784Z         }
2026-06-17T00:59:16.3032889Z       }
2026-06-17T00:59:16.3032993Z     },
2026-06-17T00:59:16.3033094Z     {
2026-06-17T00:59:16.3033199Z       "id": "REQ-SUBNET-8",
2026-06-17T00:59:16.3034335Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-17T00:59:16.3034462Z       "requiredStages": [
2026-06-17T00:59:16.3034567Z         "impl",
2026-06-17T00:59:16.3034673Z         "unit"
2026-06-17T00:59:16.3034777Z       ],
2026-06-17T00:59:16.3034877Z       "stages": {
2026-06-17T00:59:16.3034979Z         "doc": {
2026-06-17T00:59:16.3035097Z           "complete": false,
2026-06-17T00:59:16.3035196Z           "evidence": []
2026-06-17T00:59:16.3035301Z         },
2026-06-17T00:59:16.3035400Z         "impl": {
2026-06-17T00:59:16.3035512Z           "complete": true,
2026-06-17T00:59:16.3035622Z           "evidence": [
2026-06-17T00:59:16.3035714Z             {
2026-06-17T00:59:16.3035841Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3035947Z               "line": 3559
2026-06-17T00:59:16.3036052Z             },
2026-06-17T00:59:16.3036156Z             {
2026-06-17T00:59:16.3036286Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3036396Z               "line": 3588
2026-06-17T00:59:16.3036490Z             },
2026-06-17T00:59:16.3036591Z             {
2026-06-17T00:59:16.3036819Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3036940Z               "line": 3605
2026-06-17T00:59:16.3037038Z             },
2026-06-17T00:59:16.3037139Z             {
2026-06-17T00:59:16.3037269Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3037367Z               "line": 3628
2026-06-17T00:59:16.3037478Z             },
2026-06-17T00:59:16.3037579Z             {
2026-06-17T00:59:16.3037706Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3037814Z               "line": 4042
2026-06-17T00:59:16.3037915Z             }
2026-06-17T00:59:16.3038017Z           ]
2026-06-17T00:59:16.3038204Z         },
2026-06-17T00:59:16.3038304Z         "int": {
2026-06-17T00:59:16.3038408Z           "complete": false,
2026-06-17T00:59:16.3038519Z           "evidence": []
2026-06-17T00:59:16.3038619Z         },
2026-06-17T00:59:16.3038723Z         "unit": {
2026-06-17T00:59:16.3038839Z           "complete": true,
2026-06-17T00:59:16.3039038Z           "evidence": [
2026-06-17T00:59:16.3039149Z             {
2026-06-17T00:59:16.3039267Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3039377Z               "line": 9449
2026-06-17T00:59:16.3039478Z             },
2026-06-17T00:59:16.3039586Z             {
2026-06-17T00:59:16.3039705Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3039807Z               "line": 9465
2026-06-17T00:59:16.3039910Z             }
2026-06-17T00:59:16.3040006Z           ]
2026-06-17T00:59:16.3040107Z         }
2026-06-17T00:59:16.3040206Z       }
2026-06-17T00:59:16.3040311Z     },
2026-06-17T00:59:16.3040412Z     {
2026-06-17T00:59:16.3040526Z       "id": "REQ-TERM-1",
2026-06-17T00:59:16.3040729Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-17T00:59:16.3040845Z       "requiredStages": [
2026-06-17T00:59:16.3040958Z         "impl",
2026-06-17T00:59:16.3041059Z         "unit"
2026-06-17T00:59:16.3041164Z       ],
2026-06-17T00:59:16.3041264Z       "stages": {
2026-06-17T00:59:16.3041359Z         "doc": {
2026-06-17T00:59:16.3041484Z           "complete": false,
2026-06-17T00:59:16.3041583Z           "evidence": []
2026-06-17T00:59:16.3041683Z         },
2026-06-17T00:59:16.3041789Z         "impl": {
2026-06-17T00:59:16.3041907Z           "complete": true,
2026-06-17T00:59:16.3042018Z           "evidence": [
2026-06-17T00:59:16.3042122Z             {
2026-06-17T00:59:16.3042260Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T00:59:16.3042366Z               "line": 59
2026-06-17T00:59:16.3042470Z             },
2026-06-17T00:59:16.3042575Z             {
2026-06-17T00:59:16.3042714Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T00:59:16.3042818Z               "line": 195
2026-06-17T00:59:16.3042917Z             },
2026-06-17T00:59:16.3043017Z             {
2026-06-17T00:59:16.3043158Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T00:59:16.3043263Z               "line": 100
2026-06-17T00:59:16.3043364Z             }
2026-06-17T00:59:16.3043473Z           ]
2026-06-17T00:59:16.3043573Z         },
2026-06-17T00:59:16.3043674Z         "int": {
2026-06-17T00:59:16.3043793Z           "complete": false,
2026-06-17T00:59:16.3043897Z           "evidence": []
2026-06-17T00:59:16.3044003Z         },
2026-06-17T00:59:16.3044102Z         "unit": {
2026-06-17T00:59:16.3044221Z           "complete": true,
2026-06-17T00:59:16.3044322Z           "evidence": [
2026-06-17T00:59:16.3044422Z             {
2026-06-17T00:59:16.3044560Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T00:59:16.3044665Z               "line": 24
2026-06-17T00:59:16.3044765Z             },
2026-06-17T00:59:16.3044865Z             {
2026-06-17T00:59:16.3045008Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T00:59:16.3045118Z               "line": 56
2026-06-17T00:59:16.3045220Z             }
2026-06-17T00:59:16.3045319Z           ]
2026-06-17T00:59:16.3045419Z         }
2026-06-17T00:59:16.3045519Z       }
2026-06-17T00:59:16.3045717Z     },
2026-06-17T00:59:16.3045817Z     {
2026-06-17T00:59:16.3045937Z       "id": "REQ-TERM-2",
2026-06-17T00:59:16.3046144Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-17T00:59:16.3046259Z       "requiredStages": [
2026-06-17T00:59:16.3046364Z         "impl",
2026-06-17T00:59:16.3046463Z         "unit"
2026-06-17T00:59:16.3046565Z       ],
2026-06-17T00:59:16.3046669Z       "stages": {
2026-06-17T00:59:16.3046769Z         "doc": {
2026-06-17T00:59:16.3046875Z           "complete": false,
2026-06-17T00:59:16.3046989Z           "evidence": []
2026-06-17T00:59:16.3047084Z         },
2026-06-17T00:59:16.3047294Z         "impl": {
2026-06-17T00:59:16.3047408Z           "complete": true,
2026-06-17T00:59:16.3047523Z           "evidence": [
2026-06-17T00:59:16.3047622Z             {
2026-06-17T00:59:16.3047757Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T00:59:16.3047871Z               "line": 117
2026-06-17T00:59:16.3047971Z             },
2026-06-17T00:59:16.3048072Z             {
2026-06-17T00:59:16.3048205Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T00:59:16.3048313Z               "line": 127
2026-06-17T00:59:16.3048404Z             }
2026-06-17T00:59:16.3048499Z           ]
2026-06-17T00:59:16.3048601Z         },
2026-06-17T00:59:16.3048701Z         "int": {
2026-06-17T00:59:16.3048817Z           "complete": false,
2026-06-17T00:59:16.3048921Z           "evidence": []
2026-06-17T00:59:16.3049108Z         },
2026-06-17T00:59:16.3049212Z         "unit": {
2026-06-17T00:59:16.3049312Z           "complete": true,
2026-06-17T00:59:16.3049432Z           "evidence": [
2026-06-17T00:59:16.3049532Z             {
2026-06-17T00:59:16.3049670Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-17T00:59:16.3049770Z               "line": 46
2026-06-17T00:59:16.3049875Z             },
2026-06-17T00:59:16.3049974Z             {
2026-06-17T00:59:16.3050113Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-17T00:59:16.3050222Z               "line": 77
2026-06-17T00:59:16.3050324Z             }
2026-06-17T00:59:16.3050423Z           ]
2026-06-17T00:59:16.3050523Z         }
2026-06-17T00:59:16.3050624Z       }
2026-06-17T00:59:16.3050729Z     },
2026-06-17T00:59:16.3050828Z     {
2026-06-17T00:59:16.3050939Z       "id": "REQ-TERM-3",
2026-06-17T00:59:16.3051100Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-17T00:59:16.3051222Z       "requiredStages": [
2026-06-17T00:59:16.3051324Z         "impl",
2026-06-17T00:59:16.3051424Z         "unit"
2026-06-17T00:59:16.3051528Z       ],
2026-06-17T00:59:16.3051633Z       "stages": {
2026-06-17T00:59:16.3051739Z         "doc": {
2026-06-17T00:59:16.3051848Z           "complete": false,
2026-06-17T00:59:16.3051959Z           "evidence": []
2026-06-17T00:59:16.3052063Z         },
2026-06-17T00:59:16.3052167Z         "impl": {
2026-06-17T00:59:16.3052273Z           "complete": true,
2026-06-17T00:59:16.3052373Z           "evidence": [
2026-06-17T00:59:16.3052472Z             {
2026-06-17T00:59:16.3052612Z               "path": "crates/spt-term/src/stream.rs",
2026-06-17T00:59:16.3052716Z               "line": 71
2026-06-17T00:59:16.3052820Z             }
2026-06-17T00:59:16.3052922Z           ]
2026-06-17T00:59:16.3053025Z         },
2026-06-17T00:59:16.3053116Z         "int": {
2026-06-17T00:59:16.3053232Z           "complete": false,
2026-06-17T00:59:16.3053330Z           "evidence": []
2026-06-17T00:59:16.3053434Z         },
2026-06-17T00:59:16.3053539Z         "unit": {
2026-06-17T00:59:16.3053653Z           "complete": true,
2026-06-17T00:59:16.3053756Z           "evidence": [
2026-06-17T00:59:16.3053857Z             {
2026-06-17T00:59:16.3054000Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-17T00:59:16.3054109Z               "line": 37
2026-06-17T00:59:16.3054210Z             },
2026-06-17T00:59:16.3054310Z             {
2026-06-17T00:59:16.3054457Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-17T00:59:16.3054672Z               "line": 67
2026-06-17T00:59:16.3054772Z             }
2026-06-17T00:59:16.3054868Z           ]
2026-06-17T00:59:16.3054968Z         }
2026-06-17T00:59:16.3055072Z       }
2026-06-17T00:59:16.3055173Z     },
2026-06-17T00:59:16.3055277Z     {
2026-06-17T00:59:16.3055387Z       "id": "REQ-TERM-4",
2026-06-17T00:59:16.3055907Z       "title": "Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt endpoint digest) + structured-delta-stream contract + api digest-entry push",
2026-06-17T00:59:16.3056021Z       "requiredStages": [
2026-06-17T00:59:16.3056123Z         "impl",
2026-06-17T00:59:16.3056325Z         "unit",
2026-06-17T00:59:16.3056431Z         "int"
2026-06-17T00:59:16.3056539Z       ],
2026-06-17T00:59:16.3056647Z       "stages": {
2026-06-17T00:59:16.3056753Z         "doc": {
2026-06-17T00:59:16.3056868Z           "complete": false,
2026-06-17T00:59:16.3056976Z           "evidence": []
2026-06-17T00:59:16.3057072Z         },
2026-06-17T00:59:16.3057177Z         "impl": {
2026-06-17T00:59:16.3057286Z           "complete": true,
2026-06-17T00:59:16.3057401Z           "evidence": [
2026-06-17T00:59:16.3057501Z             {
2026-06-17T00:59:16.3057644Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3057750Z               "line": 37
2026-06-17T00:59:16.3057854Z             },
2026-06-17T00:59:16.3057954Z             {
2026-06-17T00:59:16.3058107Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3058212Z               "line": 25
2026-06-17T00:59:16.3058312Z             },
2026-06-17T00:59:16.3058422Z             {
2026-06-17T00:59:16.3058569Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3058680Z               "line": 114
2026-06-17T00:59:16.3058784Z             },
2026-06-17T00:59:16.3058883Z             {
2026-06-17T00:59:16.3059115Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3059219Z               "line": 267
2026-06-17T00:59:16.3059329Z             },
2026-06-17T00:59:16.3059425Z             {
2026-06-17T00:59:16.3059566Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3059673Z               "line": 289
2026-06-17T00:59:16.3059777Z             },
2026-06-17T00:59:16.3059877Z             {
2026-06-17T00:59:16.3060020Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3060120Z               "line": 307
2026-06-17T00:59:16.3060225Z             },
2026-06-17T00:59:16.3060326Z             {
2026-06-17T00:59:16.3060467Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.3060583Z               "line": 33
2026-06-17T00:59:16.3060687Z             },
2026-06-17T00:59:16.3060787Z             {
2026-06-17T00:59:16.3060941Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3061040Z               "line": 52
2026-06-17T00:59:16.3061145Z             },
2026-06-17T00:59:16.3061247Z             {
2026-06-17T00:59:16.3061393Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3061514Z               "line": 180
2026-06-17T00:59:16.3061614Z             },
2026-06-17T00:59:16.3061716Z             {
2026-06-17T00:59:16.3061859Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3061970Z               "line": 190
2026-06-17T00:59:16.3062074Z             },
2026-06-17T00:59:16.3062174Z             {
2026-06-17T00:59:16.3062318Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3062427Z               "line": 250
2026-06-17T00:59:16.3062533Z             },
2026-06-17T00:59:16.3062637Z             {
2026-06-17T00:59:16.3062775Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.3062890Z               "line": 280
2026-06-17T00:59:16.3062985Z             },
2026-06-17T00:59:16.3063089Z             {
2026-06-17T00:59:16.3063233Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.3063352Z               "line": 291
2026-06-17T00:59:16.3063548Z             },
2026-06-17T00:59:16.3063657Z             {
2026-06-17T00:59:16.3063787Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3063890Z               "line": 1147
2026-06-17T00:59:16.3063990Z             }
2026-06-17T00:59:16.3064090Z           ]
2026-06-17T00:59:16.3064199Z         },
2026-06-17T00:59:16.3064298Z         "int": {
2026-06-17T00:59:16.3064412Z           "complete": true,
2026-06-17T00:59:16.3064522Z           "evidence": [
2026-06-17T00:59:16.3064622Z             {
2026-06-17T00:59:16.3064760Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-17T00:59:16.3064965Z               "line": 18
2026-06-17T00:59:16.3065066Z             }
2026-06-17T00:59:16.3065171Z           ]
2026-06-17T00:59:16.3065275Z         },
2026-06-17T00:59:16.3065381Z         "unit": {
2026-06-17T00:59:16.3065490Z           "complete": true,
2026-06-17T00:59:16.3065599Z           "evidence": [
2026-06-17T00:59:16.3065695Z             {
2026-06-17T00:59:16.3065847Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3065951Z               "line": 364
2026-06-17T00:59:16.3066053Z             },
2026-06-17T00:59:16.3066162Z             {
2026-06-17T00:59:16.3066306Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3066415Z               "line": 416
2026-06-17T00:59:16.3066514Z             },
2026-06-17T00:59:16.3066621Z             {
2026-06-17T00:59:16.3066754Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3066866Z               "line": 426
2026-06-17T00:59:16.3066966Z             },
2026-06-17T00:59:16.3067066Z             {
2026-06-17T00:59:16.3067216Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3067322Z               "line": 436
2026-06-17T00:59:16.3067423Z             },
2026-06-17T00:59:16.3067526Z             {
2026-06-17T00:59:16.3067671Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3067775Z               "line": 456
2026-06-17T00:59:16.3067874Z             },
2026-06-17T00:59:16.3067981Z             {
2026-06-17T00:59:16.3068128Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3068233Z               "line": 478
2026-06-17T00:59:16.3068334Z             },
2026-06-17T00:59:16.3068443Z             {
2026-06-17T00:59:16.3068591Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3068695Z               "line": 491
2026-06-17T00:59:16.3068795Z             },
2026-06-17T00:59:16.3068892Z             {
2026-06-17T00:59:16.3069124Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T00:59:16.3069235Z               "line": 502
2026-06-17T00:59:16.3069339Z             },
2026-06-17T00:59:16.3069452Z             {
2026-06-17T00:59:16.3069595Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.3069703Z               "line": 108
2026-06-17T00:59:16.3069798Z             },
2026-06-17T00:59:16.3069898Z             {
2026-06-17T00:59:16.3070046Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T00:59:16.3070151Z               "line": 119
2026-06-17T00:59:16.3070252Z             },
2026-06-17T00:59:16.3070356Z             {
2026-06-17T00:59:16.3070495Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T00:59:16.3070604Z               "line": 127
2026-06-17T00:59:16.3070704Z             },
2026-06-17T00:59:16.3070800Z             {
2026-06-17T00:59:16.3070947Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3071052Z               "line": 474
2026-06-17T00:59:16.3071153Z             },
2026-06-17T00:59:16.3071262Z             {
2026-06-17T00:59:16.3071410Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3071516Z               "line": 501
2026-06-17T00:59:16.3071624Z             },
2026-06-17T00:59:16.3071725Z             {
2026-06-17T00:59:16.3071873Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3072088Z               "line": 520
2026-06-17T00:59:16.3072188Z             },
2026-06-17T00:59:16.3072291Z             {
2026-06-17T00:59:16.3072434Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3072549Z               "line": 535
2026-06-17T00:59:16.3072653Z             },
2026-06-17T00:59:16.3072753Z             {
2026-06-17T00:59:16.3072897Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3073006Z               "line": 561
2026-06-17T00:59:16.3073107Z             },
2026-06-17T00:59:16.3073212Z             {
2026-06-17T00:59:16.3073364Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3073592Z               "line": 581
2026-06-17T00:59:16.3073698Z             },
2026-06-17T00:59:16.3073802Z             {
2026-06-17T00:59:16.3073955Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3074061Z               "line": 591
2026-06-17T00:59:16.3074169Z             },
2026-06-17T00:59:16.3074270Z             {
2026-06-17T00:59:16.3074414Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3074517Z               "line": 683
2026-06-17T00:59:16.3074621Z             },
2026-06-17T00:59:16.3074717Z             {
2026-06-17T00:59:16.3074848Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.3074958Z               "line": 881
2026-06-17T00:59:16.3075059Z             },
2026-06-17T00:59:16.3075153Z             {
2026-06-17T00:59:16.3075282Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3075383Z               "line": 9016
2026-06-17T00:59:16.3075487Z             }
2026-06-17T00:59:16.3075587Z           ]
2026-06-17T00:59:16.3075688Z         }
2026-06-17T00:59:16.3075792Z       }
2026-06-17T00:59:16.3075892Z     },
2026-06-17T00:59:16.3075998Z     {
2026-06-17T00:59:16.3076107Z       "id": "REQ-TERM-5",
2026-06-17T00:59:16.3077725Z       "title": "Adapter-declared digest extractor seam: a `[digest]` manifest section declaring an imperative extractor (native harness log -> the {role,text,tool,ts} contract; defaults to the [history] source files with an own-source escape hatch), `api digest-entry` push fallback, register-time validation of the section, adapter-declared presentation defaults (window depth, arg-truncation, sprint-collapse) that any consumer may override, and a `spt adapter digest-proof` author tool plus runtime skip-diagnostics (no silent drop). Reverses M9's no-manifest-seam stance; no declarative DSL.",
2026-06-17T00:59:16.3077853Z       "requiredStages": [
2026-06-17T00:59:16.3077959Z         "doc",
2026-06-17T00:59:16.3078068Z         "impl",
2026-06-17T00:59:16.3078163Z         "unit",
2026-06-17T00:59:16.3078264Z         "int"
2026-06-17T00:59:16.3078368Z       ],
2026-06-17T00:59:16.3078464Z       "stages": {
2026-06-17T00:59:16.3078569Z         "doc": {
2026-06-17T00:59:16.3078688Z           "complete": true,
2026-06-17T00:59:16.3078802Z           "evidence": [
2026-06-17T00:59:16.3078898Z             {
2026-06-17T00:59:16.3079093Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.3079203Z               "line": 170
2026-06-17T00:59:16.3079312Z             }
2026-06-17T00:59:16.3079432Z           ]
2026-06-17T00:59:16.3079528Z         },
2026-06-17T00:59:16.3079636Z         "impl": {
2026-06-17T00:59:16.3079747Z           "complete": true,
2026-06-17T00:59:16.3079852Z           "evidence": [
2026-06-17T00:59:16.3079956Z             {
2026-06-17T00:59:16.3080103Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3080216Z               "line": 75
2026-06-17T00:59:16.3080319Z             },
2026-06-17T00:59:16.3080430Z             {
2026-06-17T00:59:16.3080564Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3080677Z               "line": 131
2026-06-17T00:59:16.3080783Z             },
2026-06-17T00:59:16.3080888Z             {
2026-06-17T00:59:16.3081026Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3081136Z               "line": 22
2026-06-17T00:59:16.3081350Z             },
2026-06-17T00:59:16.3081451Z             {
2026-06-17T00:59:16.3081598Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3081704Z               "line": 87
2026-06-17T00:59:16.3081808Z             },
2026-06-17T00:59:16.3081917Z             {
2026-06-17T00:59:16.3082042Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T00:59:16.3082156Z               "line": 30
2026-06-17T00:59:16.3082261Z             },
2026-06-17T00:59:16.3082362Z             {
2026-06-17T00:59:16.3082518Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3082715Z               "line": 103
2026-06-17T00:59:16.3082823Z             },
2026-06-17T00:59:16.3082922Z             {
2026-06-17T00:59:16.3083071Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3083189Z               "line": 167
2026-06-17T00:59:16.3083295Z             },
2026-06-17T00:59:16.3083399Z             {
2026-06-17T00:59:16.3083532Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3083648Z               "line": 434
2026-06-17T00:59:16.3083748Z             },
2026-06-17T00:59:16.3083842Z             {
2026-06-17T00:59:16.3083977Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3084076Z               "line": 5349
2026-06-17T00:59:16.3084176Z             },
2026-06-17T00:59:16.3084283Z             {
2026-06-17T00:59:16.3084415Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3084525Z               "line": 5629
2026-06-17T00:59:16.3084626Z             }
2026-06-17T00:59:16.3084729Z           ]
2026-06-17T00:59:16.3084830Z         },
2026-06-17T00:59:16.3084936Z         "int": {
2026-06-17T00:59:16.3085053Z           "complete": true,
2026-06-17T00:59:16.3085167Z           "evidence": [
2026-06-17T00:59:16.3085272Z             {
2026-06-17T00:59:16.3085451Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T00:59:16.3085551Z               "line": 17
2026-06-17T00:59:16.3085648Z             }
2026-06-17T00:59:16.3085751Z           ]
2026-06-17T00:59:16.3085856Z         },
2026-06-17T00:59:16.3085986Z         "unit": {
2026-06-17T00:59:16.3086095Z           "complete": true,
2026-06-17T00:59:16.3086210Z           "evidence": [
2026-06-17T00:59:16.3086320Z             {
2026-06-17T00:59:16.3086462Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3086572Z               "line": 375
2026-06-17T00:59:16.3086667Z             },
2026-06-17T00:59:16.3086776Z             {
2026-06-17T00:59:16.3086910Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3087024Z               "line": 162
2026-06-17T00:59:16.3087121Z             },
2026-06-17T00:59:16.3087221Z             {
2026-06-17T00:59:16.3087363Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3087469Z               "line": 179
2026-06-17T00:59:16.3087573Z             },
2026-06-17T00:59:16.3087673Z             {
2026-06-17T00:59:16.3087818Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3087925Z               "line": 201
2026-06-17T00:59:16.3088019Z             },
2026-06-17T00:59:16.3088125Z             {
2026-06-17T00:59:16.3088256Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3088375Z               "line": 212
2026-06-17T00:59:16.3088476Z             },
2026-06-17T00:59:16.3088585Z             {
2026-06-17T00:59:16.3088724Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T00:59:16.3088824Z               "line": 223
2026-06-17T00:59:16.3088933Z             },
2026-06-17T00:59:16.3089101Z             {
2026-06-17T00:59:16.3089252Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3089363Z               "line": 1311
2026-06-17T00:59:16.3089472Z             },
2026-06-17T00:59:16.3089577Z             {
2026-06-17T00:59:16.3089722Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3089935Z               "line": 1354
2026-06-17T00:59:16.3090036Z             },
2026-06-17T00:59:16.3090140Z             {
2026-06-17T00:59:16.3090293Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3090398Z               "line": 606
2026-06-17T00:59:16.3090507Z             },
2026-06-17T00:59:16.3090610Z             {
2026-06-17T00:59:16.3090753Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3090861Z               "line": 634
2026-06-17T00:59:16.3090961Z             },
2026-06-17T00:59:16.3091062Z             {
2026-06-17T00:59:16.3091208Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3091424Z               "line": 646
2026-06-17T00:59:16.3091528Z             },
2026-06-17T00:59:16.3091625Z             {
2026-06-17T00:59:16.3091772Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3091886Z               "line": 669
2026-06-17T00:59:16.3091987Z             },
2026-06-17T00:59:16.3092086Z             {
2026-06-17T00:59:16.3092215Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3092326Z               "line": 7765
2026-06-17T00:59:16.3092425Z             },
2026-06-17T00:59:16.3092530Z             {
2026-06-17T00:59:16.3092659Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3092764Z               "line": 7823
2026-06-17T00:59:16.3092869Z             }
2026-06-17T00:59:16.3092974Z           ]
2026-06-17T00:59:16.3093073Z         }
2026-06-17T00:59:16.3093179Z       }
2026-06-17T00:59:16.3093275Z     },
2026-06-17T00:59:16.3093378Z     {
2026-06-17T00:59:16.3093482Z       "id": "REQ-TERM-6",
2026-06-17T00:59:16.3094689Z       "title": "Thread-spanning digest across session boundaries: a per-endpoint session ledger (`<perch>/sessions.log`) appended at first bind and by `api boundary` on `/clear`|`/compact` session rotation, the digest enumerating the last K sessions so its rolling window bridges a boundary, and a distinctive in-timeline boundary marker (DigestEntry::Boundary). The digest follows the live-agent thread, not a single session.",
2026-06-17T00:59:16.3094804Z       "requiredStages": [
2026-06-17T00:59:16.3094909Z         "impl",
2026-06-17T00:59:16.3095013Z         "unit",
2026-06-17T00:59:16.3095119Z         "int"
2026-06-17T00:59:16.3095224Z       ],
2026-06-17T00:59:16.3095328Z       "stages": {
2026-06-17T00:59:16.3095428Z         "doc": {
2026-06-17T00:59:16.3095553Z           "complete": false,
2026-06-17T00:59:16.3095661Z           "evidence": []
2026-06-17T00:59:16.3095761Z         },
2026-06-17T00:59:16.3095870Z         "impl": {
2026-06-17T00:59:16.3095978Z           "complete": true,
2026-06-17T00:59:16.3096097Z           "evidence": [
2026-06-17T00:59:16.3096198Z             {
2026-06-17T00:59:16.3096359Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3096479Z               "line": 132
2026-06-17T00:59:16.3096579Z             },
2026-06-17T00:59:16.3096688Z             {
2026-06-17T00:59:16.3096827Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3096945Z               "line": 187
2026-06-17T00:59:16.3097047Z             },
2026-06-17T00:59:16.3097156Z             {
2026-06-17T00:59:16.3097298Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3097409Z               "line": 17
2026-06-17T00:59:16.3097518Z             },
2026-06-17T00:59:16.3097623Z             {
2026-06-17T00:59:16.3097767Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3097871Z               "line": 96
2026-06-17T00:59:16.3097981Z             },
2026-06-17T00:59:16.3098082Z             {
2026-06-17T00:59:16.3098228Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3098344Z               "line": 319
2026-06-17T00:59:16.3098448Z             },
2026-06-17T00:59:16.3098552Z             {
2026-06-17T00:59:16.3098695Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3098812Z               "line": 396
2026-06-17T00:59:16.3099065Z             }
2026-06-17T00:59:16.3099169Z           ]
2026-06-17T00:59:16.3099269Z         },
2026-06-17T00:59:16.3099380Z         "int": {
2026-06-17T00:59:16.3101984Z           "complete": true,
2026-06-17T00:59:16.3102112Z           "evidence": [
2026-06-17T00:59:16.3102214Z             {
2026-06-17T00:59:16.3102413Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T00:59:16.3102514Z               "line": 18
2026-06-17T00:59:16.3102618Z             }
2026-06-17T00:59:16.3102718Z           ]
2026-06-17T00:59:16.3102829Z         },
2026-06-17T00:59:16.3102933Z         "unit": {
2026-06-17T00:59:16.3103201Z           "complete": true,
2026-06-17T00:59:16.3103304Z           "evidence": [
2026-06-17T00:59:16.3103400Z             {
2026-06-17T00:59:16.3103558Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3103667Z               "line": 126
2026-06-17T00:59:16.3103764Z             },
2026-06-17T00:59:16.3103868Z             {
2026-06-17T00:59:16.3104023Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3104138Z               "line": 141
2026-06-17T00:59:16.3104244Z             },
2026-06-17T00:59:16.3104357Z             {
2026-06-17T00:59:16.3104497Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3104610Z               "line": 157
2026-06-17T00:59:16.3104710Z             },
2026-06-17T00:59:16.3104811Z             {
2026-06-17T00:59:16.3104963Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T00:59:16.3105064Z               "line": 175
2026-06-17T00:59:16.3105164Z             },
2026-06-17T00:59:16.3105263Z             {
2026-06-17T00:59:16.3105407Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3105511Z               "line": 738
2026-06-17T00:59:16.3105616Z             },
2026-06-17T00:59:16.3105722Z             {
2026-06-17T00:59:16.3105868Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3105984Z               "line": 759
2026-06-17T00:59:16.3106089Z             },
2026-06-17T00:59:16.3106197Z             {
2026-06-17T00:59:16.3106350Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T00:59:16.3106458Z               "line": 722
2026-06-17T00:59:16.3106562Z             }
2026-06-17T00:59:16.3106658Z           ]
2026-06-17T00:59:16.3106753Z         }
2026-06-17T00:59:16.3106857Z       }
2026-06-17T00:59:16.3106957Z     },
2026-06-17T00:59:16.3107058Z     {
2026-06-17T00:59:16.3107177Z       "id": "REQ-TERM-7",
2026-06-17T00:59:16.3108416Z       "title": "Two-origin digest merge: spt-owned context-injection entries (psyche_download | echo_mirror | owl_message) appended by spt to the endpoint `digest.log`, timestamp-interleaved with the adapter's extracted activity records into one ordered timeline, via a distinct context-injection record category. Data model only this milestone; GUI collapse/expand and the echo-reads-digest delta loop are deferred to the surfaces that consume them.",
2026-06-17T00:59:16.3108531Z       "requiredStages": [
2026-06-17T00:59:16.3108632Z         "impl",
2026-06-17T00:59:16.3108735Z         "unit",
2026-06-17T00:59:16.3108842Z         "int"
2026-06-17T00:59:16.3109013Z       ],
2026-06-17T00:59:16.3109112Z       "stages": {
2026-06-17T00:59:16.3109217Z         "doc": {
2026-06-17T00:59:16.3109335Z           "complete": false,
2026-06-17T00:59:16.3109453Z           "evidence": []
2026-06-17T00:59:16.3109563Z         },
2026-06-17T00:59:16.3109664Z         "impl": {
2026-06-17T00:59:16.3109800Z           "complete": true,
2026-06-17T00:59:16.3109902Z           "evidence": [
2026-06-17T00:59:16.3110007Z             {
2026-06-17T00:59:16.3110149Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3110264Z               "line": 133
2026-06-17T00:59:16.3110363Z             },
2026-06-17T00:59:16.3110469Z             {
2026-06-17T00:59:16.3110606Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3110711Z               "line": 326
2026-06-17T00:59:16.3110950Z             },
2026-06-17T00:59:16.3111040Z             {
2026-06-17T00:59:16.3111195Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T00:59:16.3111312Z               "line": 15
2026-06-17T00:59:16.3111408Z             },
2026-06-17T00:59:16.3111514Z             {
2026-06-17T00:59:16.3111655Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T00:59:16.3111760Z               "line": 32
2026-06-17T00:59:16.3111859Z             },
2026-06-17T00:59:16.3111953Z             {
2026-06-17T00:59:16.3112096Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.3112291Z               "line": 49
2026-06-17T00:59:16.3112396Z             },
2026-06-17T00:59:16.3112497Z             {
2026-06-17T00:59:16.3112649Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3112760Z               "line": 286
2026-06-17T00:59:16.3112864Z             },
2026-06-17T00:59:16.3112963Z             {
2026-06-17T00:59:16.3113117Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3113221Z               "line": 320
2026-06-17T00:59:16.3113321Z             }
2026-06-17T00:59:16.3113427Z           ]
2026-06-17T00:59:16.3113527Z         },
2026-06-17T00:59:16.3113631Z         "int": {
2026-06-17T00:59:16.3113751Z           "complete": true,
2026-06-17T00:59:16.3113855Z           "evidence": [
2026-06-17T00:59:16.3113960Z             {
2026-06-17T00:59:16.3114132Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T00:59:16.3114237Z               "line": 19
2026-06-17T00:59:16.3114338Z             }
2026-06-17T00:59:16.3114437Z           ]
2026-06-17T00:59:16.3114541Z         },
2026-06-17T00:59:16.3114636Z         "unit": {
2026-06-17T00:59:16.3114747Z           "complete": true,
2026-06-17T00:59:16.3114856Z           "evidence": [
2026-06-17T00:59:16.3114956Z             {
2026-06-17T00:59:16.3115090Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3115199Z               "line": 455
2026-06-17T00:59:16.3115305Z             },
2026-06-17T00:59:16.3115405Z             {
2026-06-17T00:59:16.3115551Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T00:59:16.3115653Z               "line": 566
2026-06-17T00:59:16.3115757Z             },
2026-06-17T00:59:16.3115856Z             {
2026-06-17T00:59:16.3115996Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T00:59:16.3116110Z               "line": 58
2026-06-17T00:59:16.3116215Z             },
2026-06-17T00:59:16.3116325Z             {
2026-06-17T00:59:16.3116463Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T00:59:16.3116578Z               "line": 77
2026-06-17T00:59:16.3116678Z             },
2026-06-17T00:59:16.3116776Z             {
2026-06-17T00:59:16.3116919Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T00:59:16.3117018Z               "line": 87
2026-06-17T00:59:16.3117127Z             },
2026-06-17T00:59:16.3117232Z             {
2026-06-17T00:59:16.3117394Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T00:59:16.3117513Z               "line": 94
2026-06-17T00:59:16.3117619Z             },
2026-06-17T00:59:16.3117728Z             {
2026-06-17T00:59:16.3117876Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3117980Z               "line": 691
2026-06-17T00:59:16.3118075Z             },
2026-06-17T00:59:16.3118182Z             {
2026-06-17T00:59:16.3118334Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T00:59:16.3118438Z               "line": 716
2026-06-17T00:59:16.3118553Z             }
2026-06-17T00:59:16.3118653Z           ]
2026-06-17T00:59:16.3118752Z         }
2026-06-17T00:59:16.3118854Z       }
2026-06-17T00:59:16.3119025Z     },
2026-06-17T00:59:16.3119131Z     {
2026-06-17T00:59:16.3119240Z       "id": "REQ-UPD-1",
2026-06-17T00:59:16.3119397Z       "title": "Peer-propagated update over P2P",
2026-06-17T00:59:16.3119507Z       "requiredStages": [
2026-06-17T00:59:16.3119715Z         "impl",
2026-06-17T00:59:16.3119820Z         "unit",
2026-06-17T00:59:16.3119923Z         "int"
2026-06-17T00:59:16.3120027Z       ],
2026-06-17T00:59:16.3120132Z       "stages": {
2026-06-17T00:59:16.3120243Z         "doc": {
2026-06-17T00:59:16.3120361Z           "complete": false,
2026-06-17T00:59:16.3120472Z           "evidence": []
2026-06-17T00:59:16.3120567Z         },
2026-06-17T00:59:16.3120680Z         "impl": {
2026-06-17T00:59:16.3120791Z           "complete": true,
2026-06-17T00:59:16.3120896Z           "evidence": [
2026-06-17T00:59:16.3121005Z             {
2026-06-17T00:59:16.3121262Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3121373Z               "line": 28
2026-06-17T00:59:16.3121468Z             },
2026-06-17T00:59:16.3121563Z             {
2026-06-17T00:59:16.3121721Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3121825Z               "line": 103
2026-06-17T00:59:16.3121925Z             },
2026-06-17T00:59:16.3122026Z             {
2026-06-17T00:59:16.3122172Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3122281Z               "line": 342
2026-06-17T00:59:16.3122387Z             },
2026-06-17T00:59:16.3122489Z             {
2026-06-17T00:59:16.3122637Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3122738Z               "line": 22
2026-06-17T00:59:16.3122842Z             },
2026-06-17T00:59:16.3122942Z             {
2026-06-17T00:59:16.3123085Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3123204Z               "line": 207
2026-06-17T00:59:16.3123305Z             },
2026-06-17T00:59:16.3123405Z             {
2026-06-17T00:59:16.3123547Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3123649Z               "line": 283
2026-06-17T00:59:16.3123753Z             },
2026-06-17T00:59:16.3123853Z             {
2026-06-17T00:59:16.3123997Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3124110Z               "line": 340
2026-06-17T00:59:16.3124210Z             },
2026-06-17T00:59:16.3124321Z             {
2026-06-17T00:59:16.3124463Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3124574Z               "line": 37
2026-06-17T00:59:16.3124668Z             }
2026-06-17T00:59:16.3124773Z           ]
2026-06-17T00:59:16.3124875Z         },
2026-06-17T00:59:16.3124974Z         "int": {
2026-06-17T00:59:16.3125092Z           "complete": true,
2026-06-17T00:59:16.3125192Z           "evidence": [
2026-06-17T00:59:16.3125297Z             {
2026-06-17T00:59:16.3125444Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T00:59:16.3125559Z               "line": 207
2026-06-17T00:59:16.3125660Z             },
2026-06-17T00:59:16.3125764Z             {
2026-06-17T00:59:16.3125912Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T00:59:16.3126022Z               "line": 1080
2026-06-17T00:59:16.3126131Z             }
2026-06-17T00:59:16.3126236Z           ]
2026-06-17T00:59:16.3126346Z         },
2026-06-17T00:59:16.3126455Z         "unit": {
2026-06-17T00:59:16.3126565Z           "complete": true,
2026-06-17T00:59:16.3126675Z           "evidence": [
2026-06-17T00:59:16.3126765Z             {
2026-06-17T00:59:16.3126909Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3127008Z               "line": 490
2026-06-17T00:59:16.3127114Z             },
2026-06-17T00:59:16.3127219Z             {
2026-06-17T00:59:16.3127365Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3127485Z               "line": 616
2026-06-17T00:59:16.3127578Z             },
2026-06-17T00:59:16.3127687Z             {
2026-06-17T00:59:16.3127840Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.3127949Z               "line": 277
2026-06-17T00:59:16.3128044Z             },
2026-06-17T00:59:16.3128145Z             {
2026-06-17T00:59:16.3128363Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3128465Z               "line": 124
2026-06-17T00:59:16.3128569Z             },
2026-06-17T00:59:16.3128673Z             {
2026-06-17T00:59:16.3128817Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3128932Z               "line": 200
2026-06-17T00:59:16.3129118Z             }
2026-06-17T00:59:16.3129223Z           ]
2026-06-17T00:59:16.3129322Z         }
2026-06-17T00:59:16.3129433Z       }
2026-06-17T00:59:16.3129532Z     },
2026-06-17T00:59:16.3129617Z     {
2026-06-17T00:59:16.3129837Z       "id": "REQ-UPD-2",
2026-06-17T00:59:16.3130010Z       "title": "All binaries signature-verified before handoff",
2026-06-17T00:59:16.3130129Z       "requiredStages": [
2026-06-17T00:59:16.3130227Z         "impl",
2026-06-17T00:59:16.3130323Z         "unit"
2026-06-17T00:59:16.3130422Z       ],
2026-06-17T00:59:16.3130525Z       "stages": {
2026-06-17T00:59:16.3130625Z         "doc": {
2026-06-17T00:59:16.3130741Z           "complete": false,
2026-06-17T00:59:16.3130854Z           "evidence": []
2026-06-17T00:59:16.3130949Z         },
2026-06-17T00:59:16.3131060Z         "impl": {
2026-06-17T00:59:16.3131178Z           "complete": true,
2026-06-17T00:59:16.3131289Z           "evidence": [
2026-06-17T00:59:16.3131394Z             {
2026-06-17T00:59:16.3131536Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3131656Z               "line": 343
2026-06-17T00:59:16.3131755Z             },
2026-06-17T00:59:16.3131860Z             {
2026-06-17T00:59:16.3132004Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3132113Z               "line": 476
2026-06-17T00:59:16.3132218Z             },
2026-06-17T00:59:16.3132319Z             {
2026-06-17T00:59:16.3132461Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3132568Z               "line": 29
2026-06-17T00:59:16.3132672Z             },
2026-06-17T00:59:16.3132780Z             {
2026-06-17T00:59:16.3132908Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3133022Z               "line": 271
2026-06-17T00:59:16.3133116Z             },
2026-06-17T00:59:16.3133221Z             {
2026-06-17T00:59:16.3133355Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3133459Z               "line": 288
2026-06-17T00:59:16.3133555Z             },
2026-06-17T00:59:16.3133655Z             {
2026-06-17T00:59:16.3133802Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3133904Z               "line": 408
2026-06-17T00:59:16.3134004Z             },
2026-06-17T00:59:16.3134107Z             {
2026-06-17T00:59:16.3134252Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3134365Z               "line": 558
2026-06-17T00:59:16.3134465Z             },
2026-06-17T00:59:16.3134567Z             {
2026-06-17T00:59:16.3134708Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3134824Z               "line": 155
2026-06-17T00:59:16.3134923Z             }
2026-06-17T00:59:16.3135018Z           ]
2026-06-17T00:59:16.3135125Z         },
2026-06-17T00:59:16.3135224Z         "int": {
2026-06-17T00:59:16.3135338Z           "complete": false,
2026-06-17T00:59:16.3135449Z           "evidence": []
2026-06-17T00:59:16.3135544Z         },
2026-06-17T00:59:16.3135647Z         "unit": {
2026-06-17T00:59:16.3135752Z           "complete": true,
2026-06-17T00:59:16.3135857Z           "evidence": [
2026-06-17T00:59:16.3135957Z             {
2026-06-17T00:59:16.3136100Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3136210Z               "line": 750
2026-06-17T00:59:16.3136324Z             },
2026-06-17T00:59:16.3136444Z             {
2026-06-17T00:59:16.3136586Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3136696Z               "line": 811
2026-06-17T00:59:16.3136797Z             },
2026-06-17T00:59:16.3136901Z             {
2026-06-17T00:59:16.3137140Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3137244Z               "line": 825
2026-06-17T00:59:16.3137345Z             },
2026-06-17T00:59:16.3137445Z             {
2026-06-17T00:59:16.3137583Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3137693Z               "line": 841
2026-06-17T00:59:16.3137793Z             },
2026-06-17T00:59:16.3137897Z             {
2026-06-17T00:59:16.3138040Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3138143Z               "line": 932
2026-06-17T00:59:16.3138318Z             },
2026-06-17T00:59:16.3138415Z             {
2026-06-17T00:59:16.3138557Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3138662Z               "line": 414
2026-06-17T00:59:16.3138763Z             },
2026-06-17T00:59:16.3138862Z             {
2026-06-17T00:59:16.3139063Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3139172Z               "line": 427
2026-06-17T00:59:16.3139272Z             },
2026-06-17T00:59:16.3139377Z             {
2026-06-17T00:59:16.3139534Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.3139641Z               "line": 410
2026-06-17T00:59:16.3139740Z             }
2026-06-17T00:59:16.3139844Z           ]
2026-06-17T00:59:16.3139951Z         }
2026-06-17T00:59:16.3140049Z       }
2026-06-17T00:59:16.3140154Z     },
2026-06-17T00:59:16.3140256Z     {
2026-06-17T00:59:16.3140369Z       "id": "REQ-UPD-3",
2026-06-17T00:59:16.3140565Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-17T00:59:16.3140693Z       "requiredStages": [
2026-06-17T00:59:16.3140797Z         "impl",
2026-06-17T00:59:16.3140912Z         "unit",
2026-06-17T00:59:16.3141015Z         "int"
2026-06-17T00:59:16.3141114Z       ],
2026-06-17T00:59:16.3141214Z       "stages": {
2026-06-17T00:59:16.3141315Z         "doc": {
2026-06-17T00:59:16.3141433Z           "complete": false,
2026-06-17T00:59:16.3141539Z           "evidence": []
2026-06-17T00:59:16.3141649Z         },
2026-06-17T00:59:16.3141748Z         "impl": {
2026-06-17T00:59:16.3141864Z           "complete": true,
2026-06-17T00:59:16.3141973Z           "evidence": [
2026-06-17T00:59:16.3142068Z             {
2026-06-17T00:59:16.3142226Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3142320Z               "line": 40
2026-06-17T00:59:16.3142420Z             },
2026-06-17T00:59:16.3142526Z             {
2026-06-17T00:59:16.3142688Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3142798Z               "line": 87
2026-06-17T00:59:16.3142899Z             },
2026-06-17T00:59:16.3143002Z             {
2026-06-17T00:59:16.3143142Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T00:59:16.3143260Z               "line": 993
2026-06-17T00:59:16.3143359Z             },
2026-06-17T00:59:16.3143459Z             {
2026-06-17T00:59:16.3143610Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T00:59:16.3143728Z               "line": 1085
2026-06-17T00:59:16.3143829Z             },
2026-06-17T00:59:16.3143934Z             {
2026-06-17T00:59:16.3144081Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3144182Z               "line": 26
2026-06-17T00:59:16.3144291Z             },
2026-06-17T00:59:16.3144386Z             {
2026-06-17T00:59:16.3144534Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3144639Z               "line": 114
2026-06-17T00:59:16.3144740Z             },
2026-06-17T00:59:16.3144854Z             {
2026-06-17T00:59:16.3144987Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3145103Z               "line": 246
2026-06-17T00:59:16.3145197Z             },
2026-06-17T00:59:16.3145292Z             {
2026-06-17T00:59:16.3145432Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3145535Z               "line": 2241
2026-06-17T00:59:16.3145766Z             }
2026-06-17T00:59:16.3145869Z           ]
2026-06-17T00:59:16.3145975Z         },
2026-06-17T00:59:16.3146081Z         "int": {
2026-06-17T00:59:16.3146202Z           "complete": true,
2026-06-17T00:59:16.3146322Z           "evidence": [
2026-06-17T00:59:16.3146422Z             {
2026-06-17T00:59:16.3146569Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T00:59:16.3146679Z               "line": 58
2026-06-17T00:59:16.3146780Z             }
2026-06-17T00:59:16.3146889Z           ]
2026-06-17T00:59:16.3146995Z         },
2026-06-17T00:59:16.3147099Z         "unit": {
2026-06-17T00:59:16.3147304Z           "complete": true,
2026-06-17T00:59:16.3147423Z           "evidence": [
2026-06-17T00:59:16.3147523Z             {
2026-06-17T00:59:16.3147681Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3147786Z               "line": 532
2026-06-17T00:59:16.3147890Z             },
2026-06-17T00:59:16.3147992Z             {
2026-06-17T00:59:16.3148143Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3148258Z               "line": 583
2026-06-17T00:59:16.3148367Z             },
2026-06-17T00:59:16.3148467Z             {
2026-06-17T00:59:16.3148609Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3148726Z               "line": 651
2026-06-17T00:59:16.3148825Z             },
2026-06-17T00:59:16.3148932Z             {
2026-06-17T00:59:16.3149164Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T00:59:16.3149275Z               "line": 1076
2026-06-17T00:59:16.3149374Z             },
2026-06-17T00:59:16.3149479Z             {
2026-06-17T00:59:16.3149623Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3149741Z               "line": 271
2026-06-17T00:59:16.3149842Z             },
2026-06-17T00:59:16.3149942Z             {
2026-06-17T00:59:16.3150085Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3150205Z               "line": 295
2026-06-17T00:59:16.3150309Z             },
2026-06-17T00:59:16.3150400Z             {
2026-06-17T00:59:16.3150544Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3150652Z               "line": 316
2026-06-17T00:59:16.3150762Z             },
2026-06-17T00:59:16.3150868Z             {
2026-06-17T00:59:16.3151010Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3151121Z               "line": 332
2026-06-17T00:59:16.3151225Z             }
2026-06-17T00:59:16.3151334Z           ]
2026-06-17T00:59:16.3151433Z         }
2026-06-17T00:59:16.3151542Z       }
2026-06-17T00:59:16.3151646Z     },
2026-06-17T00:59:16.3151746Z     {
2026-06-17T00:59:16.3151861Z       "id": "REQ-UPD-4",
2026-06-17T00:59:16.3152065Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-17T00:59:16.3152190Z       "requiredStages": [
2026-06-17T00:59:16.3152289Z         "impl",
2026-06-17T00:59:16.3152394Z         "unit"
2026-06-17T00:59:16.3152500Z       ],
2026-06-17T00:59:16.3152604Z       "stages": {
2026-06-17T00:59:16.3152705Z         "doc": {
2026-06-17T00:59:16.3152815Z           "complete": false,
2026-06-17T00:59:16.3152919Z           "evidence": []
2026-06-17T00:59:16.3153014Z         },
2026-06-17T00:59:16.3153120Z         "impl": {
2026-06-17T00:59:16.3153228Z           "complete": true,
2026-06-17T00:59:16.3153339Z           "evidence": [
2026-06-17T00:59:16.3153439Z             {
2026-06-17T00:59:16.3153592Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3153697Z               "line": 41
2026-06-17T00:59:16.3153802Z             },
2026-06-17T00:59:16.3153909Z             {
2026-06-17T00:59:16.3154052Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3154170Z               "line": 88
2026-06-17T00:59:16.3154269Z             },
2026-06-17T00:59:16.3154374Z             {
2026-06-17T00:59:16.3154523Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3154728Z               "line": 23
2026-06-17T00:59:16.3154828Z             },
2026-06-17T00:59:16.3154928Z             {
2026-06-17T00:59:16.3155071Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3155208Z               "line": 56
2026-06-17T00:59:16.3155334Z             },
2026-06-17T00:59:16.3155452Z             {
2026-06-17T00:59:16.3155605Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3155715Z               "line": 77
2026-06-17T00:59:16.3155819Z             },
2026-06-17T00:59:16.3155930Z             {
2026-06-17T00:59:16.3156177Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T00:59:16.3156278Z               "line": 211
2026-06-17T00:59:16.3156387Z             },
2026-06-17T00:59:16.3156487Z             {
2026-06-17T00:59:16.3156636Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T00:59:16.3156744Z               "line": 108
2026-06-17T00:59:16.3156848Z             },
2026-06-17T00:59:16.3156954Z             {
2026-06-17T00:59:16.3157091Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.3157211Z               "line": 247
2026-06-17T00:59:16.3157311Z             },
2026-06-17T00:59:16.3157410Z             {
2026-06-17T00:59:16.3157540Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3157649Z               "line": 2240
2026-06-17T00:59:16.3157758Z             }
2026-06-17T00:59:16.3157850Z           ]
2026-06-17T00:59:16.3157955Z         },
2026-06-17T00:59:16.3158059Z         "int": {
2026-06-17T00:59:16.3158170Z           "complete": false,
2026-06-17T00:59:16.3158284Z           "evidence": []
2026-06-17T00:59:16.3158383Z         },
2026-06-17T00:59:16.3158485Z         "unit": {
2026-06-17T00:59:16.3158594Z           "complete": true,
2026-06-17T00:59:16.3158707Z           "evidence": [
2026-06-17T00:59:16.3158809Z             {
2026-06-17T00:59:16.3159022Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3159127Z               "line": 579
2026-06-17T00:59:16.3159222Z             },
2026-06-17T00:59:16.3159324Z             {
2026-06-17T00:59:16.3159462Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3159587Z               "line": 704
2026-06-17T00:59:16.3159691Z             },
2026-06-17T00:59:16.3159792Z             {
2026-06-17T00:59:16.3159935Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T00:59:16.3160044Z               "line": 384
2026-06-17T00:59:16.3160146Z             },
2026-06-17T00:59:16.3160250Z             {
2026-06-17T00:59:16.3160393Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3160507Z               "line": 102
2026-06-17T00:59:16.3160621Z             },
2026-06-17T00:59:16.3160712Z             {
2026-06-17T00:59:16.3160864Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3160969Z               "line": 123
2026-06-17T00:59:16.3161071Z             },
2026-06-17T00:59:16.3161179Z             {
2026-06-17T00:59:16.3161317Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T00:59:16.3161442Z               "line": 142
2026-06-17T00:59:16.3161546Z             },
2026-06-17T00:59:16.3161647Z             {
2026-06-17T00:59:16.3161785Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T00:59:16.3161884Z               "line": 525
2026-06-17T00:59:16.3161989Z             },
2026-06-17T00:59:16.3162093Z             {
2026-06-17T00:59:16.3162244Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T00:59:16.3162349Z               "line": 566
2026-06-17T00:59:16.3162459Z             },
2026-06-17T00:59:16.3162563Z             {
2026-06-17T00:59:16.3162684Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3162802Z               "line": 7518
2026-06-17T00:59:16.3162901Z             }
2026-06-17T00:59:16.3163008Z           ]
2026-06-17T00:59:16.3163112Z         }
2026-06-17T00:59:16.3163212Z       }
2026-06-17T00:59:16.3163318Z     },
2026-06-17T00:59:16.3163508Z     {
2026-06-17T00:59:16.3163618Z       "id": "REQ-UPD-5",
2026-06-17T00:59:16.3163788Z       "title": "spt-core ripple-updates registered adapters",
2026-06-17T00:59:16.3163909Z       "requiredStages": [
2026-06-17T00:59:16.3164019Z         "impl",
2026-06-17T00:59:16.3164122Z         "unit"
2026-06-17T00:59:16.3164228Z       ],
2026-06-17T00:59:16.3164338Z       "stages": {
2026-06-17T00:59:16.3164442Z         "doc": {
2026-06-17T00:59:16.3164546Z           "complete": false,
2026-06-17T00:59:16.3164651Z           "evidence": []
2026-06-17T00:59:16.3164749Z         },
2026-06-17T00:59:16.3164959Z         "impl": {
2026-06-17T00:59:16.3165068Z           "complete": true,
2026-06-17T00:59:16.3165168Z           "evidence": [
2026-06-17T00:59:16.3165269Z             {
2026-06-17T00:59:16.3165430Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3165531Z               "line": 27
2026-06-17T00:59:16.3165641Z             },
2026-06-17T00:59:16.3165750Z             {
2026-06-17T00:59:16.3165913Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3166022Z               "line": 87
2026-06-17T00:59:16.3166146Z             },
2026-06-17T00:59:16.3166247Z             {
2026-06-17T00:59:16.3166408Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3166519Z               "line": 145
2026-06-17T00:59:16.3166618Z             },
2026-06-17T00:59:16.3166723Z             {
2026-06-17T00:59:16.3166857Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3166966Z               "line": 492
2026-06-17T00:59:16.3167071Z             },
2026-06-17T00:59:16.3167177Z             {
2026-06-17T00:59:16.3167322Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3167427Z               "line": 546
2026-06-17T00:59:16.3167533Z             }
2026-06-17T00:59:16.3167633Z           ]
2026-06-17T00:59:16.3167737Z         },
2026-06-17T00:59:16.3167839Z         "int": {
2026-06-17T00:59:16.3167952Z           "complete": false,
2026-06-17T00:59:16.3168061Z           "evidence": []
2026-06-17T00:59:16.3168163Z         },
2026-06-17T00:59:16.3168267Z         "unit": {
2026-06-17T00:59:16.3168372Z           "complete": true,
2026-06-17T00:59:16.3168477Z           "evidence": [
2026-06-17T00:59:16.3168582Z             {
2026-06-17T00:59:16.3168735Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3168849Z               "line": 272
2026-06-17T00:59:16.3169006Z             },
2026-06-17T00:59:16.3169117Z             {
2026-06-17T00:59:16.3169259Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3169374Z               "line": 286
2026-06-17T00:59:16.3169474Z             },
2026-06-17T00:59:16.3169572Z             {
2026-06-17T00:59:16.3169729Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3169833Z               "line": 300
2026-06-17T00:59:16.3169937Z             },
2026-06-17T00:59:16.3170047Z             {
2026-06-17T00:59:16.3170194Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3170309Z               "line": 314
2026-06-17T00:59:16.3170410Z             },
2026-06-17T00:59:16.3170509Z             {
2026-06-17T00:59:16.3170657Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3170776Z               "line": 348
2026-06-17T00:59:16.3170876Z             },
2026-06-17T00:59:16.3170977Z             {
2026-06-17T00:59:16.3171120Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3171229Z               "line": 1001
2026-06-17T00:59:16.3171335Z             }
2026-06-17T00:59:16.3171439Z           ]
2026-06-17T00:59:16.3171539Z         }
2026-06-17T00:59:16.3171636Z       }
2026-06-17T00:59:16.3171739Z     },
2026-06-17T00:59:16.3171839Z     {
2026-06-17T00:59:16.3171950Z       "id": "REQ-UPD-6",
2026-06-17T00:59:16.3172827Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-17T00:59:16.3173038Z       "requiredStages": [
2026-06-17T00:59:16.3173147Z         "doc",
2026-06-17T00:59:16.3173253Z         "impl",
2026-06-17T00:59:16.3173353Z         "unit",
2026-06-17T00:59:16.3173452Z         "int"
2026-06-17T00:59:16.3173559Z       ],
2026-06-17T00:59:16.3173663Z       "stages": {
2026-06-17T00:59:16.3173772Z         "doc": {
2026-06-17T00:59:16.3173991Z           "complete": true,
2026-06-17T00:59:16.3174096Z           "evidence": [
2026-06-17T00:59:16.3174203Z             {
2026-06-17T00:59:16.3174368Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T00:59:16.3174469Z               "line": 3
2026-06-17T00:59:16.3174574Z             },
2026-06-17T00:59:16.3174673Z             {
2026-06-17T00:59:16.3174808Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-17T00:59:16.3174908Z               "line": 3
2026-06-17T00:59:16.3175011Z             },
2026-06-17T00:59:16.3175111Z             {
2026-06-17T00:59:16.3175295Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-17T00:59:16.3175404Z               "line": 3
2026-06-17T00:59:16.3175505Z             }
2026-06-17T00:59:16.3175605Z           ]
2026-06-17T00:59:16.3175709Z         },
2026-06-17T00:59:16.3175815Z         "impl": {
2026-06-17T00:59:16.3175929Z           "complete": true,
2026-06-17T00:59:16.3176038Z           "evidence": [
2026-06-17T00:59:16.3176149Z             {
2026-06-17T00:59:16.3176320Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3176445Z               "line": 76
2026-06-17T00:59:16.3176549Z             },
2026-06-17T00:59:16.3176658Z             {
2026-06-17T00:59:16.3176816Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3176921Z               "line": 212
2026-06-17T00:59:16.3177031Z             },
2026-06-17T00:59:16.3177126Z             {
2026-06-17T00:59:16.3177269Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3177375Z               "line": 69
2026-06-17T00:59:16.3177483Z             },
2026-06-17T00:59:16.3177593Z             {
2026-06-17T00:59:16.3177737Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3177845Z               "line": 133
2026-06-17T00:59:16.3177949Z             },
2026-06-17T00:59:16.3178054Z             {
2026-06-17T00:59:16.3178193Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3178302Z               "line": 243
2026-06-17T00:59:16.3178408Z             },
2026-06-17T00:59:16.3178503Z             {
2026-06-17T00:59:16.3178651Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3178761Z               "line": 406
2026-06-17T00:59:16.3178865Z             },
2026-06-17T00:59:16.3179033Z             {
2026-06-17T00:59:16.3179175Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3179300Z               "line": 534
2026-06-17T00:59:16.3179404Z             },
2026-06-17T00:59:16.3179513Z             {
2026-06-17T00:59:16.3179657Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3182290Z               "line": 548
2026-06-17T00:59:16.3182418Z             },
2026-06-17T00:59:16.3182520Z             {
2026-06-17T00:59:16.3182691Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3182792Z               "line": 603
2026-06-17T00:59:16.3182911Z             },
2026-06-17T00:59:16.3183014Z             {
2026-06-17T00:59:16.3183176Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3183288Z               "line": 634
2026-06-17T00:59:16.3183392Z             },
2026-06-17T00:59:16.3183488Z             {
2026-06-17T00:59:16.3183636Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T00:59:16.3183870Z               "line": 137
2026-06-17T00:59:16.3183964Z             },
2026-06-17T00:59:16.3184070Z             {
2026-06-17T00:59:16.3184233Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T00:59:16.3184327Z               "line": 184
2026-06-17T00:59:16.3184418Z             },
2026-06-17T00:59:16.3184518Z             {
2026-06-17T00:59:16.3184671Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3184767Z               "line": 78
2026-06-17T00:59:16.3184871Z             },
2026-06-17T00:59:16.3184976Z             {
2026-06-17T00:59:16.3185223Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3185334Z               "line": 114
2026-06-17T00:59:16.3185435Z             },
2026-06-17T00:59:16.3185533Z             {
2026-06-17T00:59:16.3185676Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3185789Z               "line": 185
2026-06-17T00:59:16.3185893Z             },
2026-06-17T00:59:16.3186002Z             {
2026-06-17T00:59:16.3186146Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3186250Z               "line": 260
2026-06-17T00:59:16.3186356Z             },
2026-06-17T00:59:16.3186475Z             {
2026-06-17T00:59:16.3186617Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3186727Z               "line": 292
2026-06-17T00:59:16.3186828Z             },
2026-06-17T00:59:16.3186927Z             {
2026-06-17T00:59:16.3187066Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3187171Z               "line": 323
2026-06-17T00:59:16.3187271Z             },
2026-06-17T00:59:16.3187362Z             {
2026-06-17T00:59:16.3187509Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3187610Z               "line": 346
2026-06-17T00:59:16.3187719Z             },
2026-06-17T00:59:16.3187819Z             {
2026-06-17T00:59:16.3187964Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3188076Z               "line": 388
2026-06-17T00:59:16.3188177Z             },
2026-06-17T00:59:16.3188274Z             {
2026-06-17T00:59:16.3188414Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3188528Z               "line": 398
2026-06-17T00:59:16.3188624Z             },
2026-06-17T00:59:16.3188725Z             {
2026-06-17T00:59:16.3188867Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3189035Z               "line": 410
2026-06-17T00:59:16.3189129Z             },
2026-06-17T00:59:16.3189226Z             {
2026-06-17T00:59:16.3189378Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3189487Z               "line": 420
2026-06-17T00:59:16.3189578Z             },
2026-06-17T00:59:16.3189682Z             {
2026-06-17T00:59:16.3189821Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3189922Z               "line": 439
2026-06-17T00:59:16.3190026Z             },
2026-06-17T00:59:16.3190131Z             {
2026-06-17T00:59:16.3190275Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3190379Z               "line": 449
2026-06-17T00:59:16.3190489Z             },
2026-06-17T00:59:16.3190589Z             {
2026-06-17T00:59:16.3190735Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3190845Z               "line": 94
2026-06-17T00:59:16.3190944Z             },
2026-06-17T00:59:16.3191043Z             {
2026-06-17T00:59:16.3191176Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3191291Z               "line": 120
2026-06-17T00:59:16.3191395Z             },
2026-06-17T00:59:16.3191496Z             {
2026-06-17T00:59:16.3191639Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3191753Z               "line": 135
2026-06-17T00:59:16.3191864Z             },
2026-06-17T00:59:16.3191963Z             {
2026-06-17T00:59:16.3192103Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3192325Z               "line": 162
2026-06-17T00:59:16.3192431Z             },
2026-06-17T00:59:16.3192521Z             {
2026-06-17T00:59:16.3192673Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3192780Z               "line": 174
2026-06-17T00:59:16.3192883Z             },
2026-06-17T00:59:16.3192988Z             {
2026-06-17T00:59:16.3193128Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3193241Z               "line": 185
2026-06-17T00:59:16.3193342Z             },
2026-06-17T00:59:16.3193531Z             {
2026-06-17T00:59:16.3193679Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3193779Z               "line": 451
2026-06-17T00:59:16.3193881Z             },
2026-06-17T00:59:16.3193986Z             {
2026-06-17T00:59:16.3194125Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3194239Z               "line": 573
2026-06-17T00:59:16.3194344Z             },
2026-06-17T00:59:16.3194444Z             {
2026-06-17T00:59:16.3194592Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3194698Z               "line": 171
2026-06-17T00:59:16.3194788Z             },
2026-06-17T00:59:16.3194882Z             {
2026-06-17T00:59:16.3195022Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3195131Z               "line": 65
2026-06-17T00:59:16.3195236Z             },
2026-06-17T00:59:16.3195337Z             {
2026-06-17T00:59:16.3195484Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3195594Z               "line": 71
2026-06-17T00:59:16.3195694Z             },
2026-06-17T00:59:16.3195798Z             {
2026-06-17T00:59:16.3195938Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T00:59:16.3196042Z               "line": 77
2026-06-17T00:59:16.3196131Z             },
2026-06-17T00:59:16.3196236Z             {
2026-06-17T00:59:16.3196373Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3196491Z               "line": 778
2026-06-17T00:59:16.3196591Z             },
2026-06-17T00:59:16.3196688Z             {
2026-06-17T00:59:16.3196820Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3196926Z               "line": 795
2026-06-17T00:59:16.3197026Z             },
2026-06-17T00:59:16.3197130Z             {
2026-06-17T00:59:16.3197255Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3197364Z               "line": 838
2026-06-17T00:59:16.3197468Z             },
2026-06-17T00:59:16.3197570Z             {
2026-06-17T00:59:16.3197698Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3197816Z               "line": 981
2026-06-17T00:59:16.3197913Z             },
2026-06-17T00:59:16.3198013Z             {
2026-06-17T00:59:16.3198136Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3198247Z               "line": 1131
2026-06-17T00:59:16.3198346Z             }
2026-06-17T00:59:16.3198446Z           ]
2026-06-17T00:59:16.3198552Z         },
2026-06-17T00:59:16.3198655Z         "int": {
2026-06-17T00:59:16.3198761Z           "complete": true,
2026-06-17T00:59:16.3198867Z           "evidence": [
2026-06-17T00:59:16.3199046Z             {
2026-06-17T00:59:16.3199194Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.3199299Z               "line": 569
2026-06-17T00:59:16.3199403Z             },
2026-06-17T00:59:16.3199499Z             {
2026-06-17T00:59:16.3199646Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T00:59:16.3199757Z               "line": 135
2026-06-17T00:59:16.3199862Z             }
2026-06-17T00:59:16.3199966Z           ]
2026-06-17T00:59:16.3200067Z         },
2026-06-17T00:59:16.3200171Z         "unit": {
2026-06-17T00:59:16.3200281Z           "complete": true,
2026-06-17T00:59:16.3200391Z           "evidence": [
2026-06-17T00:59:16.3200491Z             {
2026-06-17T00:59:16.3200643Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3200858Z               "line": 624
2026-06-17T00:59:16.3200958Z             },
2026-06-17T00:59:16.3201064Z             {
2026-06-17T00:59:16.3201206Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3201310Z               "line": 673
2026-06-17T00:59:16.3201410Z             },
2026-06-17T00:59:16.3201499Z             {
2026-06-17T00:59:16.3201646Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T00:59:16.3201751Z               "line": 696
2026-06-17T00:59:16.3201856Z             },
2026-06-17T00:59:16.3202047Z             {
2026-06-17T00:59:16.3202199Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3202338Z               "line": 513
2026-06-17T00:59:16.3202438Z             },
2026-06-17T00:59:16.3202538Z             {
2026-06-17T00:59:16.3202686Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3202786Z               "line": 638
2026-06-17T00:59:16.3202895Z             },
2026-06-17T00:59:16.3202987Z             {
2026-06-17T00:59:16.3203119Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3203219Z               "line": 675
2026-06-17T00:59:16.3203321Z             },
2026-06-17T00:59:16.3203420Z             {
2026-06-17T00:59:16.3203563Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3203659Z               "line": 947
2026-06-17T00:59:16.3203763Z             },
2026-06-17T00:59:16.3203868Z             {
2026-06-17T00:59:16.3204008Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3204120Z               "line": 969
2026-06-17T00:59:16.3204219Z             },
2026-06-17T00:59:16.3204329Z             {
2026-06-17T00:59:16.3204460Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3204566Z               "line": 986
2026-06-17T00:59:16.3204666Z             },
2026-06-17T00:59:16.3204766Z             {
2026-06-17T00:59:16.3204905Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3205014Z               "line": 1001
2026-06-17T00:59:16.3205118Z             },
2026-06-17T00:59:16.3205215Z             {
2026-06-17T00:59:16.3205358Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3205461Z               "line": 1027
2026-06-17T00:59:16.3205563Z             },
2026-06-17T00:59:16.3205667Z             {
2026-06-17T00:59:16.3205801Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T00:59:16.3205907Z               "line": 457
2026-06-17T00:59:16.3206005Z             },
2026-06-17T00:59:16.3206106Z             {
2026-06-17T00:59:16.3206264Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T00:59:16.3206382Z               "line": 338
2026-06-17T00:59:16.3206498Z             },
2026-06-17T00:59:16.3206598Z             {
2026-06-17T00:59:16.3206720Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3206834Z               "line": 9756
2026-06-17T00:59:16.3206938Z             },
2026-06-17T00:59:16.3207041Z             {
2026-06-17T00:59:16.3207161Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3207267Z               "line": 1260
2026-06-17T00:59:16.3207370Z             },
2026-06-17T00:59:16.3207466Z             {
2026-06-17T00:59:16.3207619Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T00:59:16.3207723Z               "line": 130
2026-06-17T00:59:16.3207825Z             }
2026-06-17T00:59:16.3207925Z           ]
2026-06-17T00:59:16.3208028Z         }
2026-06-17T00:59:16.3208130Z       }
2026-06-17T00:59:16.3208229Z     },
2026-06-17T00:59:16.3208329Z     {
2026-06-17T00:59:16.3208445Z       "id": "REQ-UPD-7",
2026-06-17T00:59:16.3210727Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-17T00:59:16.3210970Z       "requiredStages": [
2026-06-17T00:59:16.3211075Z         "impl",
2026-06-17T00:59:16.3211175Z         "unit"
2026-06-17T00:59:16.3211271Z       ],
2026-06-17T00:59:16.3211494Z       "stages": {
2026-06-17T00:59:16.3211600Z         "doc": {
2026-06-17T00:59:16.3211719Z           "complete": false,
2026-06-17T00:59:16.3211827Z           "evidence": []
2026-06-17T00:59:16.3211927Z         },
2026-06-17T00:59:16.3212031Z         "impl": {
2026-06-17T00:59:16.3212149Z           "complete": true,
2026-06-17T00:59:16.3212259Z           "evidence": [
2026-06-17T00:59:16.3212355Z             {
2026-06-17T00:59:16.3212482Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3212598Z               "line": 2425
2026-06-17T00:59:16.3212688Z             }
2026-06-17T00:59:16.3212793Z           ]
2026-06-17T00:59:16.3212893Z         },
2026-06-17T00:59:16.3212998Z         "int": {
2026-06-17T00:59:16.3213102Z           "complete": false,
2026-06-17T00:59:16.3213208Z           "evidence": []
2026-06-17T00:59:16.3213313Z         },
2026-06-17T00:59:16.3213413Z         "unit": {
2026-06-17T00:59:16.3213518Z           "complete": true,
2026-06-17T00:59:16.3213618Z           "evidence": [
2026-06-17T00:59:16.3213718Z             {
2026-06-17T00:59:16.3213842Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3213947Z               "line": 9732
2026-06-17T00:59:16.3214042Z             }
2026-06-17T00:59:16.3214143Z           ]
2026-06-17T00:59:16.3214243Z         }
2026-06-17T00:59:16.3214342Z       }
2026-06-17T00:59:16.3214443Z     },
2026-06-17T00:59:16.3214548Z     {
2026-06-17T00:59:16.3214662Z       "id": "REQ-UPD-8",
2026-06-17T00:59:16.3217228Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-17T00:59:16.3217351Z       "requiredStages": [
2026-06-17T00:59:16.3217461Z         "impl",
2026-06-17T00:59:16.3217563Z         "unit"
2026-06-17T00:59:16.3217658Z       ],
2026-06-17T00:59:16.3217760Z       "stages": {
2026-06-17T00:59:16.3217860Z         "doc": {
2026-06-17T00:59:16.3217983Z           "complete": false,
2026-06-17T00:59:16.3218084Z           "evidence": []
2026-06-17T00:59:16.3218184Z         },
2026-06-17T00:59:16.3218288Z         "impl": {
2026-06-17T00:59:16.3218399Z           "complete": true,
2026-06-17T00:59:16.3218499Z           "evidence": [
2026-06-17T00:59:16.3218598Z             {
2026-06-17T00:59:16.3218756Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3218860Z               "line": 77
2026-06-17T00:59:16.3219038Z             },
2026-06-17T00:59:16.3219143Z             {
2026-06-17T00:59:16.3219296Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3219405Z               "line": 49
2026-06-17T00:59:16.3219499Z             },
2026-06-17T00:59:16.3219601Z             {
2026-06-17T00:59:16.3219852Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3219963Z               "line": 152
2026-06-17T00:59:16.3220062Z             },
2026-06-17T00:59:16.3220162Z             {
2026-06-17T00:59:16.3220300Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3220400Z               "line": 215
2026-06-17T00:59:16.3220509Z             },
2026-06-17T00:59:16.3220610Z             {
2026-06-17T00:59:16.3220738Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3220843Z               "line": 230
2026-06-17T00:59:16.3220945Z             },
2026-06-17T00:59:16.3221148Z             {
2026-06-17T00:59:16.3221292Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3221392Z               "line": 247
2026-06-17T00:59:16.3221496Z             },
2026-06-17T00:59:16.3221598Z             {
2026-06-17T00:59:16.3221739Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3221850Z               "line": 269
2026-06-17T00:59:16.3221955Z             },
2026-06-17T00:59:16.3222054Z             {
2026-06-17T00:59:16.3222199Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3222302Z               "line": 66
2026-06-17T00:59:16.3222406Z             },
2026-06-17T00:59:16.3222511Z             {
2026-06-17T00:59:16.3222657Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3222766Z               "line": 154
2026-06-17T00:59:16.3222867Z             },
2026-06-17T00:59:16.3222966Z             {
2026-06-17T00:59:16.3223100Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3223206Z               "line": 2229
2026-06-17T00:59:16.3223310Z             },
2026-06-17T00:59:16.3223414Z             {
2026-06-17T00:59:16.3223544Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3223643Z               "line": 2292
2026-06-17T00:59:16.3223749Z             },
2026-06-17T00:59:16.3223854Z             {
2026-06-17T00:59:16.3223982Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3224087Z               "line": 2302
2026-06-17T00:59:16.3224187Z             },
2026-06-17T00:59:16.3224292Z             {
2026-06-17T00:59:16.3224417Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3224526Z               "line": 2309
2026-06-17T00:59:16.3224631Z             },
2026-06-17T00:59:16.3224732Z             {
2026-06-17T00:59:16.3224864Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3224974Z               "line": 2426
2026-06-17T00:59:16.3225076Z             },
2026-06-17T00:59:16.3225184Z             {
2026-06-17T00:59:16.3225316Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3225430Z               "line": 480
2026-06-17T00:59:16.3225533Z             },
2026-06-17T00:59:16.3225638Z             {
2026-06-17T00:59:16.3225768Z               "path": "crates/xtask/src/main.rs",
2026-06-17T00:59:16.3225877Z               "line": 494
2026-06-17T00:59:16.3225981Z             }
2026-06-17T00:59:16.3226087Z           ]
2026-06-17T00:59:16.3226187Z         },
2026-06-17T00:59:16.3226291Z         "int": {
2026-06-17T00:59:16.3226411Z           "complete": false,
2026-06-17T00:59:16.3226530Z           "evidence": []
2026-06-17T00:59:16.3226635Z         },
2026-06-17T00:59:16.3226736Z         "unit": {
2026-06-17T00:59:16.3226849Z           "complete": true,
2026-06-17T00:59:16.3226959Z           "evidence": [
2026-06-17T00:59:16.3227065Z             {
2026-06-17T00:59:16.3227216Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T00:59:16.3227323Z               "line": 476
2026-06-17T00:59:16.3227431Z             },
2026-06-17T00:59:16.3227531Z             {
2026-06-17T00:59:16.3227680Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T00:59:16.3227797Z               "line": 580
2026-06-17T00:59:16.3227902Z             },
2026-06-17T00:59:16.3228007Z             {
2026-06-17T00:59:16.3228133Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3228325Z               "line": 9734
2026-06-17T00:59:16.3228429Z             },
2026-06-17T00:59:16.3228534Z             {
2026-06-17T00:59:16.3228659Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3228772Z               "line": 9756
2026-06-17T00:59:16.3228867Z             }
2026-06-17T00:59:16.3229059Z           ]
2026-06-17T00:59:16.3229153Z         }
2026-06-17T00:59:16.3229259Z       }
2026-06-17T00:59:16.3229363Z     },
2026-06-17T00:59:16.3229463Z     {
2026-06-17T00:59:16.3229574Z       "id": "REQ-UPD-9",
2026-06-17T00:59:16.3232218Z       "title": "`gh_release` adapter [update] avenue (optional signing): an adapter declares `[update] avenue = \"gh_release\", repo = \"user/repo\"` (+ optional `asset`, default `adapter.spt`; + optional Ed25519 `signing_key`); spt-core's ripple compares the repo's LATEST GitHub release version against the installed adapter version and, when newer, auto-updates by fetching the release `.spt` archive (the REQ-INSTALL-9 `--release` fetch primitive) → verifies the `.spt` against `signing_key` if declared, else HTTPS+GitHub first-acquisition trust → re-extracts + re-registers the adapter root. Lets a harness adapter ship updates from its own GitHub releases with NO signing tooling or plugin coupling (removes the perri file_pull/delegated avenue blockers). Acquisition-trust mirrors `--release` + the installer first-fetch; does not alter spt-core self-update (REQ-UPD-1..8).",
2026-06-17T00:59:16.3232454Z       "requiredStages": [
2026-06-17T00:59:16.3232557Z         "doc",
2026-06-17T00:59:16.3232667Z         "impl",
2026-06-17T00:59:16.3232769Z         "unit"
2026-06-17T00:59:16.3232871Z       ],
2026-06-17T00:59:16.3232971Z       "stages": {
2026-06-17T00:59:16.3233076Z         "doc": {
2026-06-17T00:59:16.3233193Z           "complete": true,
2026-06-17T00:59:16.3233298Z           "evidence": [
2026-06-17T00:59:16.3233403Z             {
2026-06-17T00:59:16.3233522Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.3233636Z               "line": 93
2026-06-17T00:59:16.3233727Z             },
2026-06-17T00:59:16.3233828Z             {
2026-06-17T00:59:16.3233955Z               "path": "docs/MANIFEST.md",
2026-06-17T00:59:16.3234062Z               "line": 221
2026-06-17T00:59:16.3234171Z             }
2026-06-17T00:59:16.3234275Z           ]
2026-06-17T00:59:16.3234377Z         },
2026-06-17T00:59:16.3234486Z         "impl": {
2026-06-17T00:59:16.3234594Z           "complete": true,
2026-06-17T00:59:16.3234701Z           "evidence": [
2026-06-17T00:59:16.3234805Z             {
2026-06-17T00:59:16.3234972Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3235076Z               "line": 128
2026-06-17T00:59:16.3235195Z             },
2026-06-17T00:59:16.3235306Z             {
2026-06-17T00:59:16.3235457Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3235558Z               "line": 533
2026-06-17T00:59:16.3235660Z             },
2026-06-17T00:59:16.3235767Z             {
2026-06-17T00:59:16.3235919Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3236033Z               "line": 404
2026-06-17T00:59:16.3236141Z             },
2026-06-17T00:59:16.3236246Z             {
2026-06-17T00:59:16.3236399Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3236512Z               "line": 450
2026-06-17T00:59:16.3236628Z             },
2026-06-17T00:59:16.3236737Z             {
2026-06-17T00:59:16.3236885Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3237000Z               "line": 858
2026-06-17T00:59:16.3237104Z             },
2026-06-17T00:59:16.3237209Z             {
2026-06-17T00:59:16.3237352Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T00:59:16.3237466Z               "line": 289
2026-06-17T00:59:16.3237577Z             },
2026-06-17T00:59:16.3237681Z             {
2026-06-17T00:59:16.3237810Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3238029Z               "line": 5374
2026-06-17T00:59:16.3238140Z             },
2026-06-17T00:59:16.3238240Z             {
2026-06-17T00:59:16.3238376Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3238486Z               "line": 5392
2026-06-17T00:59:16.3238590Z             },
2026-06-17T00:59:16.3238689Z             {
2026-06-17T00:59:16.3238818Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3238918Z               "line": 5529
2026-06-17T00:59:16.3239089Z             },
2026-06-17T00:59:16.3239205Z             {
2026-06-17T00:59:16.3239328Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3239528Z               "line": 5550
2026-06-17T00:59:16.3239629Z             },
2026-06-17T00:59:16.3239728Z             {
2026-06-17T00:59:16.3239867Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3239972Z               "line": 5573
2026-06-17T00:59:16.3240076Z             },
2026-06-17T00:59:16.3240172Z             {
2026-06-17T00:59:16.3240301Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3240401Z               "line": 5600
2026-06-17T00:59:16.3240506Z             }
2026-06-17T00:59:16.3240611Z           ]
2026-06-17T00:59:16.3240711Z         },
2026-06-17T00:59:16.3240816Z         "int": {
2026-06-17T00:59:16.3240935Z           "complete": false,
2026-06-17T00:59:16.3241055Z           "evidence": []
2026-06-17T00:59:16.3241150Z         },
2026-06-17T00:59:16.3241253Z         "unit": {
2026-06-17T00:59:16.3241372Z           "complete": true,
2026-06-17T00:59:16.3241478Z           "evidence": [
2026-06-17T00:59:16.3241591Z             {
2026-06-17T00:59:16.3241764Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T00:59:16.3241864Z               "line": 259
2026-06-17T00:59:16.3241968Z             },
2026-06-17T00:59:16.3242060Z             {
2026-06-17T00:59:16.3242216Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T00:59:16.3242321Z               "line": 657
2026-06-17T00:59:16.3242417Z             },
2026-06-17T00:59:16.3242522Z             {
2026-06-17T00:59:16.3242665Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T00:59:16.3242788Z               "line": 1037
2026-06-17T00:59:16.3242883Z             },
2026-06-17T00:59:16.3242985Z             {
2026-06-17T00:59:16.3243112Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3243222Z               "line": 6896
2026-06-17T00:59:16.3243324Z             }
2026-06-17T00:59:16.3243432Z           ]
2026-06-17T00:59:16.3243541Z         }
2026-06-17T00:59:16.3243636Z       }
2026-06-17T00:59:16.3243740Z     },
2026-06-17T00:59:16.3243844Z     {
2026-06-17T00:59:16.3243973Z       "id": "REQ-WHOAMI-1",
2026-06-17T00:59:16.3245718Z       "title": "`spt whoami` is a thin ALIAS for `spt endpoint list` (full output: the SELF pin + the subnet roster) — the standalone bare-id command is dropped (the `id=$(spt whoami)` capture was never a real pattern: env vars don't persist between agent tool calls). The one new render: the `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read_info(...).resources) when present, inline after the liveness state. whoami stays a top-level hot-path verb (parse unchanged, REQ-MSG-9).",
2026-06-17T00:59:16.3245847Z       "requiredStages": [
2026-06-17T00:59:16.3245952Z         "doc",
2026-06-17T00:59:16.3246070Z         "impl",
2026-06-17T00:59:16.3246167Z         "unit"
2026-06-17T00:59:16.3246276Z       ],
2026-06-17T00:59:16.3246384Z       "stages": {
2026-06-17T00:59:16.3246493Z         "doc": {
2026-06-17T00:59:16.3246612Z           "complete": true,
2026-06-17T00:59:16.3246725Z           "evidence": [
2026-06-17T00:59:16.3246830Z             {
2026-06-17T00:59:16.3246954Z               "path": "CONTEXT.md",
2026-06-17T00:59:16.3247059Z               "line": 659
2026-06-17T00:59:16.3247150Z             }
2026-06-17T00:59:16.3247255Z           ]
2026-06-17T00:59:16.3247359Z         },
2026-06-17T00:59:16.3247460Z         "impl": {
2026-06-17T00:59:16.3247702Z           "complete": true,
2026-06-17T00:59:16.3247804Z           "evidence": [
2026-06-17T00:59:16.3247912Z             {
2026-06-17T00:59:16.3248036Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3248147Z               "line": 2914
2026-06-17T00:59:16.3248251Z             },
2026-06-17T00:59:16.3248346Z             {
2026-06-17T00:59:16.3248471Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3248584Z               "line": 2942
2026-06-17T00:59:16.3248685Z             }
2026-06-17T00:59:16.3248786Z           ]
2026-06-17T00:59:16.3248894Z         },
2026-06-17T00:59:16.3249169Z         "int": {
2026-06-17T00:59:16.3249286Z           "complete": false,
2026-06-17T00:59:16.3249387Z           "evidence": []
2026-06-17T00:59:16.3249483Z         },
2026-06-17T00:59:16.3249587Z         "unit": {
2026-06-17T00:59:16.3249702Z           "complete": true,
2026-06-17T00:59:16.3249821Z           "evidence": [
2026-06-17T00:59:16.3249912Z             {
2026-06-17T00:59:16.3250041Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3250141Z               "line": 7178
2026-06-17T00:59:16.3250245Z             },
2026-06-17T00:59:16.3250352Z             {
2026-06-17T00:59:16.3250474Z               "path": "crates/spt/src/cli.rs",
2026-06-17T00:59:16.3250579Z               "line": 7231
2026-06-17T00:59:16.3250685Z             }
2026-06-17T00:59:16.3250784Z           ]
2026-06-17T00:59:16.3250884Z         }
2026-06-17T00:59:16.3250986Z       }
2026-06-17T00:59:16.3251089Z     }
2026-06-17T00:59:16.3251185Z   ],
2026-06-17T00:59:16.3251291Z   "findings": []
2026-06-17T00:59:16.3251395Z }
